Part Number Hot Search : 
10M162J HE721C EPA1951G 827M0 15C30 35100 CM542 PR100
Product Description
Full Text Search
 

To Download IDT88P8344 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 ? 2006 integrated device technology, inc. all rights reserved. product specifications subject to change without notice. dsc-6370/7 april 2006 spi exchange 4 x spi-3 to spi-4 issue 1.0 idt and the idt logo are trademarks of integrated device technology, inc industrial temperature range IDT88P8344 high level functional block diagram 6370 drw01 spi-3 a 64 logical ports spi-3 b 64 logical ports spi-3 c 64 logical ports spi-3 d 64 logical ports jtag if control path data path uproc if clock generator pfp = packet fragment processor spi-4 256 logical ports spi-4 to spi-3 pfp spi-3 to spi-4 pfp spi-3 to spi-4 pfp spi-4 to spi-3 pfp spi-3 to spi-4 pfp spi-4 to spi-3 pfp spi-3 to spi-4 pfp spi-4 to spi-3 pfp features ? functionality - low speed to high speed spi exchange device - logical port (lp) mapping (spi-3 <-> spi-4) tables per direction - per lp configurable memory allocation - maskable interrupts for fatal errors - fragment and burst length configurable per interface: min 16 bytes, max 256 bytes ? standard interfaces - four oif spi-3: 8 or 32 bit, 19.44-133 mhz, 256 address range, 64 concurrently active lps per interface - one oif spi-4 phase 2: 80 - 400 mhz, 256 address range, 256 concurrently active lps - spi-4 fifo status channel options: ? lvds full-rate ? lvttl eighth-rate - compatible with network processor streaming interface (npsi) npe-framer mode of operation - spi-4 ingress lvds automatic bit alignment and lane de-skew over the entire frequency range - spi-4 egress lvds programmable lane pre-skew 0.1 to 0.3 cycle - ieee 1149.1 jtag - serial or parallel microprocessor interface for control and monitoring ? full suite of performance monitoring counters - number of packets - number of fragments - number of errors - number of bytes ? green parts available, see ordering information applications ? ethernet transport ? sonet / sdh packet transport line cards ? broadband aggregation ? multi-service switches ? ip services equipment description the IDT88P8344 is a spi (system packet interface) exchange with four spi- 3 interfaces and one spi-4 interface. the data that enter on the low speed interface (spi-3) are mapped to logical identifiers (lids) and enqueued for transmission over the high speed interface (spi-4). the data that enter on the high speed interface (spi-4) are mapped to logical identifiers (lids) and enqueued for transmission over a low speed interface (spi-3). a data flow between spi-3 and spi-4 interfaces is accomplished with lid maps. the logical port addresses and number of entries in the lid maps may be dynamically configured. various parameters of a data flow may be configured by the user such as buffer memory size and watermarks. in a typical application, the IDT88P8344 enables connection of multiple spi-3 devices to a spi-4 network processor. in other applications spi-3 or spi-4 devices may be connected to multiple spi-3 network processors or traffic managers.
2 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table of contents features ....................................................................................................................... ................................................................................................. 1 applications ................................................................................................................... ............................................................................................... 1 1. introduction ................................................................................................................ ............................................................................................. 8 2. pin description ............................................................................................................. ............................................................................................ 9 3. external interfaces ......................................................................................................... ........................................................................................ 13 3.1 spi-3 ...................................................................................................................... ......................................................................................... 13 3.1.1 spi-3 ingress ............................................................................................................ ............................................................................ 13 3.1.2 spi-3 egress ............................................................................................................. ........................................................................... 15 3.2 spi-4 ...................................................................................................................... ......................................................................................... 17 3.2.1 spi-4 ingress ............................................................................................................ ............................................................................ 17 3.2.2 spi-4 egress ............................................................................................................. ........................................................................... 20 3.2.3 spi-4 startup handshake .................................................................................................. ..................................................................... 20 3.3 microprocessor interface ............................................................................................................................... ................................................... 22 4. datapath and flow control ................................................................................................... ................................................................................. 23 4.1 spi-3 to spi-4 datapath and flow control ................................................................................... ....................................................................... 25 4.2 spi-4 to spi-3 datapath and flow control ................................................................................... ....................................................................... 30 4.3 spi-3 ingress to spi-3 egress datapath ..................................................................................... ....................................................................... 33 4.4 microprocessor interface to spi-3 datapath ............................................................................................................................... ....................... 34 4.4.1 spi-3 to ingress microprocessor interface datapath ............................................................................................................................... .34 4.4.2 microprocessor insert to spi-3 egress datapath ........................................................................... .......................................................... 35 4.4.3 microprocessor interface to spi-4 egress datapath ........................................................................ ........................................................ 36 4.4.4 spi-4 ingress to microprocessor interface datapath ............................................................................................................................... .37 5. performance monitor and diagnostics ......................................................................................... ........................................................................ 38 5.1 mode of operation .......................................................................................................... .................................................................................. 38 5.2 counters ................................................................................................................... ...................................................................................... 38 5.2.1 lid associated event counters ............................................................................................ ................................................................... 38 5.2.2 non - lid associat ed event counters ...................................................................................... ............................................................... 38 5.3 captured events ............................................................................................................ .................................................................................. 38 5.3.1 non lid assoc iated eve nts ................................................................................................ .................................................................... 38 5.3.2 lid associated events .................................................................................................... ....................................................................... 38 5.3.2.1 non critical events .................................................................................................... .................................................................. 38 5.3.2.2 critical events ............................................................................................................................... .............................................. 38 5.3.3 timebase ............................................................................................................................... ............................................................... 38 5.3.3.1 internally generated timebase ............................................................................................................................... ...................... 38 5.3.3.2 externally generated timebase ............................................................................................................................... ..................... 38 6. clock generator ............................................................................................................. ......................................................................................... 39 7. loopbacks ................................................................................................................... ........................................................................................... 40 7.1 spi-3 loopback ............................................................................................................. .................................................................................. 40 8. operation guide ............................................................................................................. ........................................................................................ 41 8.1 hardware operation ......................................................................................................... ............................................................................... 41 8.1.1 system reset ............................................................................................................................... .......................................................... 41 8.1.2 power on sequence ........................................................................................................ ...................................................................... 41 8.1.3 clock domains ............................................................................................................................... ....................................................... 41 8.2 software operation ............................................................................................................................... ............................................................ 41 8.2.1 chip configuration sequence ............................................................................................................................... .................................. 41 8.2.2 logical port activation and deactivation ............................................................................................................................... ................... 42 8.2.3 buffer segment modification ............................................................................................................................... ..................................... 42 8.2.4 manual spi-4 ingress l vds bit alignment .................................................................................. ............................................................ 42 8.2.5 spi-4 status channel software ............................................................................................................................... ................................ 43 8.2.6 IDT88P8344 layout guidelines ............................................................................................. ................................................................. 43 8.2.7 software eye-opening check on spi-4 interface ............................................................................ ...................................................... 44 9. register des cription ........................................................................................................ ...................................................................................... 46 9.1 register access summary ............................................................................................................................... ................................................. 46 9.1.1 direct register format ............................................................................................................................... .............................................. 46 9.1.2 indirect register format ............................................................................................................................... ............................................ 46 9.2 direct access registers ............................................................................................................................... ...................................................... 50
3 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table of contents (continued) 9.3 indirect registers for spi-3a, spi-3b, spi-3c, spi-3d modules .............................................................. .......................................................... 56 9.3.1 block base 0x0000 registers .............................................................................................. ................................................................... 57 9.3.2 block base 0x0200 registers .............................................................................................. ................................................................... 57 9.3.3 block base 0x0500 registers .............................................................................................. ................................................................... 58 9.3.4 block base 0x0700 registers .............................................................................................. ................................................................... 59 9.3.5 block base 0x0a00 registers .............................................................................................. ................................................................... 61 9.3.6 block base 0x0c00 registers .............................................................................................. ................................................................... 61 9.3.7 block base 0x1000 registers .............................................................................................. ................................................................... 64 9.3.8 block base 0x1 100 registers .............................................................................................. .................................................................... 64 9.3.9 block base 0x1200 registers .............................................................................................. ................................................................... 64 9.3.10 block base 0x1300 registers ............................................................................................. .................................................................. 65 9.3.11 block base 0x1600 registers ............................................................................................. ................................................................... 66 9.3.12 block base 0x1700 registers ............................................................................................. .................................................................. 66 9.3.13 block base 0x1800 registers ............................................................................................. .................................................................. 66 9.3.14 block base 0x1900 registers ............................................................................................. .................................................................. 67 9.4 common module indirect registers (module_base 0x8000) ...................................................................... ......................................................... 68 9.4.1 common module block base 0x0000 registers ................................................................................ ....................................................... 69 9.4.2 common module block base 0x0100 registers ................................................................................ ....................................................... 69 9.4.3 common module block base 0x0200 registers ................................................................................ ....................................................... 69 9.4.4 common module block base 0x0300 registers ................................................................................ ....................................................... 69 9.4.5 common module block base 0x0400 registers ................................................................................ ....................................................... 72 9.4.6 common module block base 0x0500 registers ................................................................................ ....................................................... 72 9.4.7 common module block base 0x0600 registers ................................................................................ ....................................................... 73 9.4.8 common module block base 0x0700 registers ................................................................................ ....................................................... 73 9.4.9 common module block base 0x0800 registers ................................................................................ ....................................................... 75 10. jtag interface ............................................................................................................. .......................................................................................... 79 11. electrical and thermal specifications ...................................................................................... .......................................................................... 79 11.1 absolute maximum ratings ............................................................................................................................... ................................................ 79 11.2 recommended operating conditions ............................................................................................................................... ............................... 79 11.3 terminal capacitance ............................................................................................................................... ...................................................... 80 11.4 thermal characteristics ............................................................................................................................... ................................................... 80 11.5 dc electrical characteristics ............................................................................................................................... ............................................. 81 11.6 ac characteristics ............................................................................................................................... ............................................................ 82 11.6.1 spi-3 i/o timing ............................................................................................................................... .................................................... 82 11.6.2 spi-4 lvds input / output ............................................................................................... .................................................................... 83 11.6.3 spi-4 lvttl status ac characteristics ............................................................................................................................... .................. 84 11.6.4 ref_clk clock input ..................................................................................................... ..................................................................... 84 11.6.5 mclk internal clock and oclk[3:0] clock outputs ............................................................................................................................... .84 11.6.6 microprocessor interface ............................................................................................................................... ...................................... 84 11.6.6.1 microprocessor parallel port ac timing specifications .................................................................................................................. 85 11.6.6.2 serial microprocessor interface (serial peripheral interface mode) .................................................... .......................................... 89 12. mechanical characteristics ................................................................................................. ................................................................................. 90 12.1 device overview ........................................................................................................... ................................................................................ 90 12.2 pin name/ball location table ............................................................................................................................... ............................................. 91 12.3 device package ............................................................................................................ ................................................................................. 94 13. glossary ................................................................................................................... ............................................................................................. 96 14. datasheet document revision history ........................................................................................ ...................................................................... 97 15. ordering information ....................................................................................................... .................................................................................... 98
4 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 list of figures figure 1. typical application: npu, phy, and co-processor ...................................................................... ....................................................................... 8 figure 2. data path diagram .................................................................................................... ........................................................................................ 8 figure 3. link mode spi-3 ingress interface .................................................................................... ............................................................................... 14 figure 4. phy mode spi-3 ingress interface ..................................................................................... ............................................................................. 14 figure 5. link mode spi-3 egress interface ..................................................................................... ............................................................................... 16 figure 6. phy mode spi-3 egress interface ...................................................................................... ............................................................................. 16 figure 7. data sampling diagram ................................................................................................ ................................................................................... 18 figure 8. spi-4 ingress state diagram .......................................................................................... .................................................................................. 19 figure 9. spi-4 egress status state diagram .................................................................................... ............................................................................... 21 figure 10. interrupt scheme .................................................................................................... ....................................................................................... 22 figure 11. definition of data flows ............................................................................................................................... .................................................... 23 figure 12. logical view of datapath configuration using pfps ................................................................... ...................................................................... 24 figure 13. spi-3 ingress to spi-4 egress packet fragment processor ............................................................. ................................................................ 25 figure 14. spi-3 ingress lp to lid map ......................................................................................... ............................................................................... 27 figure 15. spi-4 egress lid to lp map .......................................................................................... ............................................................................... 28 figure 16. spi-3 ingress to spi-4 egress datapath .............................................................................. .......................................................................... 28 figure 17. spi-3 ingress to spi-4 egress flow control path ..................................................................... ........................................................................ 29 figure 18. spi-4 ingress to spi-3 egress packet fragment processor ............................................................. ................................................................ 30 figure 19. spi-4 ingress to spi-3 egress datapath .............................................................................. .......................................................................... 31 figure 20. spi-4 ingress to spi-3 egress flow control .......................................................................... ........................................................................... 32 figure 21. spi-3 ingress to spi-3 egress datapath .............................................................................. .......................................................................... 33 figure 22 . microprocessor data capture buffer ................................................................................. ............................................................................. 34 figure 23. spi-3 ingress to microprocessor capture interface datapath .......................................................... ................................................................. 34 figure 25. microprocessor interface to spi-3 egress detailed datapath diagram .................................................. ............................................................ 35 figure 24 . microprocessor data insert buffer .................................................................................. ............................................................................... 35 figure 26. microprocessor data insert buffer ................................................................................... ............................................................................... 36 figure 27. microprocessor data insert interface to spi-4 egress datapath ....................................................... ................................................................ 36 figure 28. microprocessor data capture buffer .................................................................................. ............................................................................. 37 figure 29. spi-4 ingress to microprocessor data capture interface path ......................................................... ................................................................. 37 figure 30. clock generator ..................................................................................................... ....................................................................................... 39 figure 31. spi-3 loopback diagram .............................................................................................. ................................................................................ 40 figure 32. power-on-reset sequence ............................................................................................. ............................................................................. 41 figure 33. ddr interface and eye opening check through over sampling ........................................................... ............................................................ 44 figure 34. direct & indirect access ............................................................................................ ..................................................................................... 46 figure 35. spi-3 i/o timing diagram ............................................................................................ ................................................................................... 82 figure 36. spi-4 i/o timing diagram ............................................................................................ ................................................................................... 83 figure 37. microprocessor parallel port motorola read timing diagram ........................................................... ................................................................. 85 figure 38. microprocessor parallel port motorola write timing diagram .......................................................... .................................................................. 86 figure 39. microprocessor parallel port intel mode read timing diagram ......................................................... ................................................................. 87 figure 40. microprocessor parallel port intel mode write timing diagram ........................................................ .................................................................. 88 figure 41. microprocessor serial peripheral interface timing diagram ........................................................... ................................................................... 89 figure 42. IDT88P8344 820pbga package, bottom view ............................................................................. ................................................................. 94 figure 43. IDT88P8344 820pbga package, top and side views ...................................................................... .............................................................. 95
5 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 list of tables table 1 ? i/o types ............................................................................................................ .............................................................................................. 9 table 2 ? spi-3 ingress interface pin definition ............................................................................... ................................................................................... 9 table 3 ? spi-3 egress interface pin definition ................................................................................ ................................................................................ 10 table 4 ? spi-3 status interface pin definition ............................................................................................................................... ................................... 10 table 5 ? spi-4 ingress interface definition ................................................................................... .................................................................................. 11 table 6 ? spi-4 egress interface definition .................................................................................... .................................................................................. 11 table 7 ? parallel microprocessor interface .................................................................................... ................................................................................ 12 table 8 ? serial microprocessor interface (serial peripheral interface mode) ................................................... ................................................................ 12 table 9 ? miscellaneous ........................................................................................................ ........................................................................................ 12 table 10 ? both attached devices start from reset status ............................................................................................................................... ................... 20 table 11 ? ingress out of synch, egress in synch ............................................................................... ............................................................................ 20 table 12 ? ingress in synch, egress out of synch ............................................................................... ............................................................................ 20 table 13 - direction code assignment ........................................................................................... ........................................................................... 26 table 14 ? ck_sel[3:0] input pin encoding ...................................................................................... ............................................................................. 39 table 15 - zero margin spi-3 timing budget ..................................................................................... .............................................................................. 43 table 16 - margin check for spi-3 timing ....................................................................................... ................................................................................. 43 table 17 - bit order within an 8-bit data register ............................................................................. ................................................................................ 46 table 18 - bit order within a 32-bit data register ............................................................................. ................................................................................ 46 table 19 - bit order within an 8-bit data register ............................................................................. ................................................................................ 46 table 20 - bit order within a 16-bit address register .......................................................................... ............................................................................. 47 table 21 - bit order within an 8-bit control register .......................................................................... ................................................................................ 47 table 22 - module base address ( module_base) ................................................................................... ........................................................................ 47 table 23 - indirect access block bases for module a, module b, module c, and module d .......................................... ................................................... 47 table 24 - indirect access block bases for common module ....................................................................... ..................................................................... 48 table 25 - indirect access data registers (direct accessed space) at 0x30 to 0x33 .............................................. ............................................................ 48 table 26 - indirect access address register (direct accessed space) at 0x34 to 0x35 ............................................ .......................................................... 48 table 27 - indirect access control register (direct accessed space) at 0x3f .................................................... ................................................................. 48 table 28 - error coding table .................................................................................................. ....................................................................................... 49 table 29 - direct mapped module a, module b, module c, and module d registers .................................................. ...................................................... 50 table 30 - direct mapped other registers ....................................................................................... ................................................................................ 50 table 31 - spi-3 data capture control register (registers 0x00, 0x08, 0x10, 0x18) .............................................. ........................................................... 50 table 32 - spi-3 data capture register (registers 0x01, 0x09, 0x1 1, 0x19) ...................................................... .............................................................. 50 table 33 - spi-4 data insert control register (registers 0x02, 0x0a, 0x12, 0x1a) ............................................... ............................................................. 51 table 34 - spi-4 data insert register (registers 0x03, 0x0b, 0x13, 0x1b) ....................................................... ................................................................ 51 table 35 - spi-4 data capture control register (registers 0x04, 0x0c, 0x14, 0x1c) .............................................. .......................................................... 51 table 36 - spi-3 data insert control register (registers 0x05, 0x0d, 0x15, 0x1d) ............................................... ............................................................ 51 table 37 - spi-4 data capture register (registers 0x06, 0x0e, 0x16, 0x1e) ...................................................... .............................................................. 51 table 38 - spi-3 data insert register (registers 0x07, 0x0f, 0x17, 0x1f) ....................................................... ................................................................ 51 table 39 - software reset register (0x 20 in the direct accessed space ) ......................................................... .................................................................. 52 table 40 - spi-4 status register (0x 22 in the direct accessed spac e) ........................................................... .................................................................... 52 table 41 - spi-4 enable register (0 x23 in the direct accessed space) ........................................................... .................................................................. 52 table 42 - module status register (0x24 to 0x27 in the direct accessed space) .................................................. .............................................................. 53 table 43 - module enable register (0x28 to 0x2b in the direct accessed space) .................................................. ........................................................... 53 table 44 - primary interrupt status register (0 x2c in the direct accessed space) ............................................... .............................................................. 54 table 45 - secondary interrupt status register (0x2d in the direct accessed space) ............................................. ........................................................... 54 table 46 - primary interrupt enable register (0 x2e in the direct accessed space) ............................................... ............................................................. 55 table 47 - secondary interrupt enable register (0 x2f in the direct accessed space) ............................................. .......................................................... 55 table 48 - module a/b/c/d indirect register .................................................................................... ................................................................................ 56 table 49 - spi-3 ingress lp to lid map ......................................................................................... ................................................................................ 57 table 50 - spi-3 general configuration register (register_offset=0 x00) ......................................................... ................................................................... 57 table 51 - spi-3 ingress configuration register (register_offset=0 x01) ......................................................... .................................................................... 58 table 52 - spi-3 ingress fill level register (register_offset=0 x02) ............................................................ ......................................................................... 58 table 53 - spi-3 ingress max fill level register (register_offset=0 x03) ........................................................ ...................................................................... 58 table 54 - spi-3 egre ss lid to lp map .......................................................................................... ............................................................................... 58 table 55 - spi-3 egress configuration register (register_offset=0 x00) .......................................................... ................................................................... 59 table 56 - spi-4 ingress to spi-3 egress flow control register (register_of fset=0x 01) .......................................... ............................................................ 59
6 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 list of tables (continued) table 57 - spi-3 egress test register (register_offset=0 x02) ................................................................... ......................................................................... 59 table 58 - spi-3 egress fill level register (register_offset=0 x03) ............................................................. ......................................................................... 60 table 59 - spi-3 egress max fill level register (register_offset=0 x04) ......................................................... ..................................................................... 60 table 60 - lid associated event counters (0x000-0 x17f) ......................................................................... ..................................................................... 61 table 61 - non lid associated event counters (0x00 - 0x0b) ..................................................................... ................................................................... 61 table 62 - non lid associated interrupt indication register (register_offset 0x0c) ............................................. ................................................................ 62 table 63 - non lid associated interrupt enable register(register_offset 0x 0d) .................................................. .............................................................. 62 table 64 - lid associated interrupt indication register (register_offset 0x0e) ................................................. ................................................................... 62 table 65 - lid associated interrupt enable register (register_offset 0x0f) ..................................................... .................................................................. 62 table 66 - non critical lid associated capture table (register_offset 0x 10-0x 15) ............................................... .............................................................. 63 table 67 - spi-3 to spi-4 critical lid interrupt indication registers (register_offset 0x16-0x 17) .............................. ........................................................... 63 table 68 - spi-3 to spi-4 critical lid interrupt enable registers (register_offset 0x18-0x 19) .................................. .......................................................... 63 table 69 - spi-4 to spi-3 critical lid interrupt indication registers (register_offset 0x1a-0x 1b) .............................. .......................................................... 63 table 70 - spi-4 to spi-3 critical lid interrupt enable registers (register_offset 0x 1c-0x 1d) .................................. ......................................................... 63 table 71 - critical events source indication register (register_offset 0x1e) ................................................... .................................................................... 63 table 72 - spi-3 ingress packet length configuration register .................................................................. ........................................................................ 64 table 73 - spi-4 egress port descriptor table (64 entries) ..................................................................... .......................................................................... 64 table 74 - spi-4 egress direction code assignment .............................................................................. ................................................................... 64 table 75 - spi-3 ingress port descriptor table (block_base 0x1200 + register_offset 0x00-0x3f) ................................. ................................................. 64 table 76 - spi-3 to spi-4 pfp register (register_offset 0x00) .................................................................. ....................................................................... 65 table 77 - nr_lid field encoding ............................................................................................... ................................................................................... 65 table 78 - spi-3 to spi-4 flow control register (register_offset 0x01) ......................................................... ...................................................................... 65 table 79 - spi-4 ingress packet length configuration (64 entries) .............................................................. ...................................................................... 66 table 80 - spi-3 egress port descriptor table (64 entries) .................................................................... .......................................................................... 66 table 81 - spi-3 egress direction code assignment .............................................................................. ................................................................... 66 table 82 - spi-4 ingress port descriptor table (64 entries) .................................................................... .......................................................................... 66 table 83 - spi-4 to spi-3 pfp register (0 x00) .................................................................................. ............................................................................. 67 table 84 - nr_lid field encoding ............................................................................................... ................................................................................... 67 table 85 -common module (module_base 0x8000) indirect register table ........................................................... ........................................................... 68 table 86 - spi-4 ingress lp to lid map (256 entries, one per lp) ............................................................... .................................................................. 69 table 87 - spi-4 ingress cal endar_0 (256 entries) .............................................................................. ........................................................................... 69 table 88 - spi-4 ingress cal endar_1 (256 entries) .............................................................................. ........................................................................... 69 table 89 - spi-4 ingress configuration register (0 x00) ......................................................................... ........................................................................... 69 table 90 - spi-4 ingress status configuration register (register_offset 0x01) .................................................. .................................................................. 70 table 91 - spi-4 ingress status register (register_offset 0x02) ................................................................ ........................................................................ 70 table 92 - spi-4 ingress inactive transfer port (register_offset 0x03) ......................................................... ...................................................................... 70 table 93 - spi-4 ingress calendar configuration register (0x04 to 0x05) ........................................................ ................................................................. 71 table 94 ? spi-4 ingress watermark register (register_offset 0x06) ............................................................ ................................................................... 71 table 95 - spi-4 ingress fill level register (0x07 to 0x0a) ................................................................... ........................................................................... 71 table 96 - spi-4 ingress max fill level register (0x0b to 0x0e) ............................................................... ....................................................................... 71 table 97 - spi-4 ingress diagnostics register (register_offset 0x0f) ........................................................... ..................................................................... 71 table 98 - spi-4 ingress dip-4 error counter (register_offset 0x10) ........................................................... ................................................................... 72 table 99 - spi-4 ingress bit alignment control register (register_offset 0x11) ................................................ ................................................................... 72 table 100 - spi-4 ingress start up training threshold register (register_of fset 0x 12) ......................................... ............................................................... 72 table 101 - spi-4 egress lid to lp map (256 entries ) ........................................................................... ........................................................................ 72 table 102 - spi-4 egress calendar_0 ( 256 locations) ........................................................................... ......................................................................... 72 table 103 - spi-4 egress calendar_1 ( 256 locations) ........................................................................... ......................................................................... 73 table 104 ? spi-4 egress configuration register_0 (register_offset 0x00) ....................................................... ................................................................. 73 table 105 - spi-4 egress configuration register_1 (register_offset 0x01) ....................................................... ................................................................. 73 table 106 - spi-4 egress status register (register_offset 0x02) ................................................................ ....................................................................... 74 table 107 - spi-4 egress calendar configuration register (register_offset 0x03 - 0x 04) ......................................... ......................................................... 74 table 108 ? spi-4 egress diagnostics register (register_offset 0x05) ........................................................... ................................................................... 74 table 109 - spi-4 egress dip-2 error counter (register_offset 0x06) ........................................................... .................................................................. 74 table 110 - spi-4 ingress bit alignment window register (register_offset 0x00) ................................................. ............................................................... 75 table 111 - spi-4 ingress lane measure register (register_offset 0x01) ........................................................ .................................................................. 75
7 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 list of tables (continued) table 112 - spi-4 ingress bit alignment counter register (0x02 to 0x0b ) ........................................................ ................................................................. 75 table 113 - spi-4 ingress manual alignment phase/result register (0x0c to 0x1f ) ................................................ .......................................................... 75 table 114 - spi-4 egress data lane timing register (register_offset 0x2a) ...................................................... .................................................................. 75 table 115 - spi-4 egress control lane timing register (register_of fset 0x2b ) ................................................... ............................................................ 76 table 116 - spi-4 egress data clock timing register (register_offset 0x2c) ....................................................................................................................... 76 table 117 - spi-4 egress status timing register (register_offset 0x2d) ............................................................................................................................ 76 table 118 - spi-4 egress status clock timing register (register_offset 0x2e) .................................................................................................................... 76 table 119 - pmon timebase control register (register_offset 0x00) ............................................................................................................................... .. 77 table 120 - timebase register (register_offset 0x01) ........................................................................... ........................................................................... 77 table 121 - clock generator control register (register_offset 0x10) ............................................................ ..................................................................... 77 table 122 - oclk and mclk frequency select encoding ............................................................................ ................................................................... 77 table 123 - gpio register (register_offset 0x20) ............................................................................... ............................................................................. 78 table 124 - gpio monitor table (5 entries 0x21-0x25 for gpio[0] through gpio[4]) ............................................... ........................................................ 78 table 125 - version number register (register_offset 0x30) ..................................................................... ........................................................................ 78 table 126 ? jtag instructions .................................................................................................. ...................................................................................... 79 table 127 ? absolute maximum ratings ............................................................................................................................... ............................................ 79 table 128 ? recommended operating conditions ............................................................................................................................... ........................... 79 table 129 ? terminal capacitance ............................................................................................... .................................................................................. 80 table 130 ? thermal characteristics ............................................................................................ .................................................................................. 80 table 131 ? dc electrical characteristics ............................................................................................................................... ......................................... 81 table 132 ? spi-3 ac input / output timing specifications ............................................................................................................................... ................. 82 table 133 ? spi-4.2 lvds ac input / output timing specifications ............................................................................................................................... ..... 84 table 134 ? spi-4 l vttl status ac characteristics .............................................................................. ......................................................................... 84 table 135 ? ref_clk clock input ................................................................................................ ................................................................................. 84 table 136 ? oclk[3:0] clock outputs and mclk internal clock .................................................................... ................................................................... 84 table 137 ? microprocessor interface ........................................................................................... ................................................................................. 84 table 138 ? microprocessor parallel port motorola read timing .................................................................. ..................................................................... 85 table 139 ? microprocessor parallel port motorola write timing ................................................................. ...................................................................... 86 table 140 ? microprocessor parallel port intel mode read ti ming ................................................................ ..................................................................... 87 table 141 ? microprocessor parallel port intel mode write timing ............................................................... ...................................................................... 88 table 142 ? microprocessor serial peripheral interface timing .................................................................. ....................................................................... 89
8 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 1. introduction the IDT88P8344 device is a quad spi-3 to single spi-4 exchange with switching capabilities intended for use in vpn firewall cards, ethernet transport, and multi-service switches. the spi-3 and spi-4 interfaces are defined by the optical internetworking forum (oif). the device can be used as an exchange, a switch, or an aggregation device between network processor units, multi-gigabit framers and phys, and switch fabric interface devices. data path overview figure 2. data path diagram shows an overview of the data path through the device. in normal operation, there are two paths through the IDT88P8344 device: the quad spi-3 ingress to spi-4 egress path, and the spi-4 ingress to quad spi-3 egress path. spi-3 and spi-4 burst sizes are separately configurable. in the spi-3 ingress to spi-4 egress path, data enter in fragments on the spi-3 interface and are received by the spi-3 interface block. the fragments are mapped to a spi-4 address and stored in memory allocated at the spi-3 level until such a time that the spi-3 to spi-4 packet fragment processor determines that they are to be transmitted on the spi-4 interface. the data is transferred in bursts, in line with the oif spi-4 implementation agreement, to the spi-4 interface block, and are transmitted on the spi-4 interface. in the spi-4 ingress to spi-3 egress path, data enter in bursts on the spi- 4 interface and are received by the spi-4 interface block. the spi-4 address is translated to a spi-3 address, and the data contained in the bursts are stored in memory allocated at the spi-3 level until such a time that the spi-4 to spi- 3 packet fragment processor determines that they are to be transmitted on the spi-3 interface. the data is transferred in packet fragments, in line with the oif spi-3 implementation agreement, to the spi-3 interface block, and are trans- mitted on the spi-3 interface. these and additional data paths are described in more detail in the data path section of this document. figure 2. data path diagram spi-3 spi-3 spi-3 spi-3 spi-3 ingress to spi-4 egress i/f i/f i/f i/f memory memory memory memory i/f spi-4 spi-4 ingress to spi-3 egress 6370 drw03 mul t i -por t ethernet tr anscei v er mul t i -por t ethernet tr anscei v er spi-3 spi-3 IDT88P8344 npu co-processor spi-3 spi-4 spi-3 con t r ol processor memory memory clear traffic secu r e traf f i c additional co -pr o c e s s o r or phy pci 6370 drw02 typical application exchange between secure traffic, clear traffic, 10g npu and co-processor figure 1. typical application: npu, phy, and co-processor
9 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 2. pin description spi-3 (four instantiations) for the spi-3 interfaces, each pin is used differently depending whether the spi-3 is in link mode or in phy mode. each of the spi-3 interfaces is separately configurable for either link or phy mode. this configuration holds for both the ingress and egress paths. the device pin is given a generic name, and mapped to the standard pin name according to the mode of the interface (link or phy). table 2 ? spi-3 ingress interface pin definition generic name specific name i/o type description mode link phy i_fclk spi3a_i_fclk i-st ingress spi-3 write clock rfclk tfclk spi3b_i_fclk lvttl spi3c_i_fclk spi3d_i_fclk rval spi3a_i_rval b-pu receive data valid rval (i) rval (o) spi3b_i_rval lvttl spi3c_i_rval spi3d_i_rval i_enb spi3a_i_enb b-pu ingress read enable renb (o) tenb (i) spi3b_i_enb lvttl spi3c_i_enb spi3d_i_enb i_dat[31:0] spi3a_i_dat[31:0] i-pu ingress data bus rdat [31:0] tdat [31:0] spi3b_i_dat[31:0] lvttl spi3c_i_dat[31:0] spi3d_i_dat[31:0] i_mod[1:0] spi3a_i_mod[1:0] i-pu ingress word modulus rmod [1:0] tmod [1:0] spi3b_i_mod[1:0] lvttl spi3c_i_mod[1:0] spi3d_i_mod[1:0] i_prty spi3a_i_prty i-pu ingress parity rprty tprty spi3b_i_prty lvttl spi3c_i_prty spi3d_i_prty i_sop spi3a_i_sop i-pu ingress start of packet rsop tsop spi3b_i_sop lvttl spi3c_i_sop spi3d_i_sop i_eop spi3a_i_eop i-pu ingress end of packet reop teop spi3b_i_eop lvttl spi3c_i_eop spi3d_i_eop i_err spi3a_i_err i-pu ingress eop error rerr terr spi3b_i_err lvttl spi3c_i_err spi3d_i_err i_sx spi3a_i_sx i-pu ingress start of transfer rsx tsx spi3b_i_sx lvttl spi3c_i_sx spi3d_i_sx i/o type function i_st input with schmitt trigger with weak pull up i-pu input with weak pull up b-pu bidirectional i/o with weak pull up i_pd input with pull down i input o output o-z output with tri-state od output with open drain table 1 ? i/o types
10 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 generic name specific name i/o type description mode link phy e_fclk spi3a_e_fclk i-st egress spi-3 write clock tfclk rfclk spi3b_e_fclk lvttl spi3c_e_fclk spi3d_e_fclk e_enb spi3a_e_enb b-pu egress read enable tenb (o) renb (i) spi3b_e_enb lvttl spi3c_e_enb spi3d_e_enb e_dat[31:0] spi3a_e_dat[31:0] o-z egress data bus tdat [31:0] rdat [31:0] spi3b_e_dat[31:0] lvttl spi3c_e_dat[31:0] spi3d_e_dat[31:0] e_mod[1:0] spi3a_e_mod[1:0] o-z egress word modulus tmod [1:0] rmod [1:0] spi3b_e_mod[1:0] lvttl spi3c_e_mod[1:0] spi3d_e_mod[1:0] e_prty spi3a_e_prty o-z egress parity tprty rprty spi3b_e_prty lvttl spi3c_e_prty spi3d_e_prty e_sop spi3a_e_sop o-z egress start of packet tsop rsop spi3b_e_sop lvttl spi3c_e_sop spi3d_e_sop e_eop spi3a_e_eop o-z egress end of packet teop reop spi3b_e_eop lvttl spi3c_e_eop spi3d_e_eop e_err spi3a_e_err o-z egress eop error terr rerr spi3b_e_err lvttl spi3c_e_err spi3d_e_err e_sx spi3a_e_sx o-z egress start of transfer tsx rsx spi3b_e_sx lvttl spi3c_e_sx spi3d_e_sx table 3 ? spi-3 egress interface pin definition generic name specific name i/o type description mode link phy dtpa[3:0] spi3a_dtpa[3:0] b-pu direct transmit packet available dtpa (i) dtpa (o) spi3b_dtpa[3:0] lvttl spi3c_dtpa[3:0] spi3d_dtpa[3:0] stpa spi3a_stpa b-pu selected-phy transmit packet available stpa (i) stpa (o) spi3b_stpa lvttl spi3c_stpa spi3d_stpa ptpa spi3a_ptpa b-pu polled-phy transmit packet available ptpa (i) ptpa (o) spi3b_ptpa lvttl spi3c_ptpa spi3d_ptpa adr[7:0] spi3a_adr[7:0] b-pu polled transmit phy address adr (o) adr (i) spi3b_adr[7:0] lvttl spi3c_adr[7:0] spi3d_adr[7:0] table 4 ? spi-3 status interface pin definition
11 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 generic name specific name i/o type description mode link phy i_dclk (p & n) spi4_i_dclk_p i lvds ingress data clock rdclk tdclk spi4_i_dclk_n i_dat[15:0] spi4_i_dat_p[15:0] i lvds ingress data bus rdat tdat (p & n) spi4_i_dat_n[15:0] i_crtl (p & n) spi4_i_ctrl_p i lvds ingress control word rctl tctl spi4_i_ctrl_n i_sclk_l spi4_i_sclk_p o lvds ingress status clock rsclk tsclk (p & n) spi4_i_sclk_n i_stat_l[1:0] spi4_i_stat_p[1:0] o lvds ingress status info rstat tstat (p & n) spi4_i_stat_n[1:0] i_sclk_t spi4_i_sclk_t o lvttl ingress status clock rsclk tsclk i_stat_t[1:0] spi4_i_stat_t[1:0] o lvttl ingress status info rstat tstat bias bias analog use an external 3k ohm ---------- ---------- 1% resistor to vss lvds_sta lvds_sta i-pu lvds(high)/lvttl (low) status ---------- ---------- selection (see note below) table 5 ? spi-4 ingress interface definition generic name specific name i/o type description mode link phy e_dclk (p & n) spi4_e_dclk_p o lvds egress data clock tdclk rdclk spi4_e_dclk_n e_dat[15:0] spi4_e_dat_p[15:0] o lvds egress data bus tdat[15:0] rdat[15:0] (p & n) spi4_e_dat_n[15:0] e_crtl (p & n) spi4_e_ctrl_p o lvds egress control word tctl rctl spi4_e_ctrl_n e_sclk_l spi4_e_sclk_p i lvds egress status clock tsclk rsclk (p & n) spi4_e_sclk_n e_stat_l[1:0] spi4_e_stat_p[1:0] i lvds egress status info tstat[1:0] rstat[1:0] (p & n) spi4_e_stat_n[1:0] e_sclk_t spi4_e_sclk_t i-st lvttl egress status clock tsclk rsclk e_stat_t[1:0] spi4_e_stat_t[1:0] i-pu lvttl egress status info tstat rstat[1:0] table 6 ? spi-4 egress interface definition spi-4 (one instantiation) for the spi-4 interface, each pin is used differently depending whether the spi-4 is in link mode or in phy mode. the pin is given a generic name, shown in the name column, and mapped to the oif standard pin name according to the mode of operation of the interface (link to phy). note : 1. a hardware reset or software reset must be performed after changing the level of this pin.
12 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 name i/o type parallel microprocessor serial peripheral interface pin use description pin used sdi i-st cmos wrb serial data in, rise edge sampling sdo b-pu cmos dbus[0] s erial data out, falling edge driving csb i-st cmos csb chip select, active low. sdo is tri-stated when csb is high sclk i-st cmos rdb input clock intb od cmos ---------- interrupt, active low, open drain spi_en i-pu cmos ---------- dedicated input. high selects spi microprocessor interface (internally pulled up) table 9 ? miscellaneous name i/o type description ref_clk i-st cmos master clock input oclk[3:0] o lvttl clock outputs that can be used for spi-3, phase-shifted to avoid simultaneously switching outputs clk_sel[3:0] i-pu cmos clock select inputs for internal pll, internal mclk, and oclk[3:0] outputs timebase b-pu cmos timeout signal for counters gpio[4:0] b-pu cmos general purpose i/o or internal state monitor pins tdi i-pu cmos jtag data in (internally pulled up) tdo o-z cmos jtag data out tck i-st cmos jtag clock tms i-pu cmos jtag mode (internally pulled up) trstb i-pu cmos jtag reset, active low (internally pulled up). pull down for normal operation. resetb i-pd cmos master hardware reset, active low note : 1. inputs with internal pull-ups do not need external pull-ups unless connected to pcb trace (except trstb). parallel microprocessor interface the parallel microprocessor interface is configurable to work in intel or motorola modes. be sure to connect spi_en to a logic low when using the parallel microprocessor interface mode. name i/o type description mpm i-pu cmos microprocessor mode: 0=motorola mode, 1=intel mode (sampled after reset) csb i-st cmos chip select; active low rdb i-st cmos rdb: read control, active low (in intel mode), or dsb: data strobe, active low (in motorola mode) wrb i-st cmos wrb: write control; active low; (in intel mode), or r/wb: read/write control; when high, read is active; when low, write is active; (in motorola mode) add[5:0] i-pu cmos address bus dbus[7:0] b-pu cmos data bus intb od cmos interrupt, active low, open drain spi_en i-pu cmos logic low selects parallel microprocessor interface (internally pulled up, sampled after reset) table 7 ? parallel microprocessor interface table 8 ? serial microprocessor interface (serial peripheral interface mode) four pins multiplexed with parallel microprocessor pins. be sure to connect spi_en to a logic high when using the serial microp rocessor interface mode.
13 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 3. external interfaces the external interfaces provided on the IDT88P8344 device are four spi- 3 interfaces, one spi-4 interface, a serial or parallel microprocessor interface, a jtag interface, and a set of gpio pins. each of the interfaces is defined in the relevant standard. the following information contains a set of the highlights of the features supported from the relevant standards, and a description of additional features implemented to enhance the usability of these interfaces for the system architect. 3.1 spi-3 refer to oif spi-3 document (see 13.glossary for a reference) for full details of the implementation agreement. - four instantiations of spi-3 interface; each interface independently configurable - device supports a 8-bit and 32-bit data bus structure. - clock rate is minimum 19.44 to maximum 133 mhz - link, single port phy, and single device multi port phy modes supported - byte level and packet level transfer control mechanisms supported ? four dtpa signals supported, mapped to lp addresses 0 ? 3, for stpa in byte-level mode ? eight adr signals supported for ptpa in packet-level mode - address range 0 to 255 with support for 64 simultaneously active logical ports - fragment length (section) configurable from 16 to 256 bytes in 16 byte multiples - configurable standard and non-standard bit ordering spi-3 implementation features the following are implemented per spi-3 interface, and there are four instantiations per device. - link / phy layer device - packet / byte level fifo status information - physical port enable - width of data bus (32 bit or 8 bit) - parity selection (odd or even) - enable parity check 3.1.1 spi-3 ingress the following are implemented per spi-3 interface, and there are 4 instantiations per device. - spi-3 lp to link identifier (lid) map - 256 entries, one per spi-3 lp address - lp enable control - only 64 of these entries are to be in the active state simultaneously backpressure enable - link mode only - enables the assertion of the i_enb when at least one active lid can not accept data - if not enabled, the i_enb signal will never be asserted in link mode, possibly leading to fragments being discarded. minimum packet length - packets shorter than the minimum length will be optionally counted in the short packet counter. - range 0 ? 255 in 1 byte increments maximum packet length - packets longer than the maximum length will be optionally counted in the long packet counter. - range 0 ? 16,383 in 1 byte increments backpressure threshold - number of free segments allocated below which backpressure will be triggered for the lp spi-3 ingress interface multiple independent data streams can be transmitted over the physical spi- 3 port. each of those data streams is identified by a spi-3 logical port ( lp ). data from a transfer on a spi-3 logical port and the associated descriptor fields are synchronized to the configurable internal buffer segment pool. normal operation refer to [13. glossary] for details about the spi-3 interface. ? a spi-3 interface ( a physical port ) is enabled by the spi-3_enable flag in the spi-3 configuration register. a disabled interface tri-states all output pins and does not respond to any input signals. ? the interface is configured in phy or link layer mode by the link flag in the spi-3 general configuration register. ? the interface supports a spi-3 logical port number range [0..255], note that at most 64 logical ports can be configured. ? the spi-3 interface supports data transport over either a 32 bit data interface or over one single 8 bit interface (data[7:0] ) only. the selection is defined by the buswidth flag in the spi-3 general configuration register. ? the spi-3 interface is configured in byte mode or packet mode by the packet flag in the spi-3 general configuration register. ? the spi-3 interface supports over-clocking. ? parity checking over data[31:0] is enabled by the parity_en flag in the table 50, spi-3 general configuration register (register_offset=0x00). the parity type is defined by the even_parity flag. parity check results over the in-band port address and the data of a transfer are forwarded towards the packet fragment processor. ? spi exchange supports zero clock interval spacing between transfers. spi-3 ingress interface errors given an i_fclk within specification, the spi-3 will not dead lock due to any combination or sequence on the spi-3 interface. the spi exchange detects for incorrect sop / eop sequences on a logical port. the following sequences are detected: successive sop ( sop- sop sequence rather than sop ?eop ?sop-eop ) successive eop ( eop- eop sequence rather than sop ?eop ?sop-eop ) detection of an illegal sequence results in the generation of an spi-3 illegal sop sequence event or spi-3 illegal eop sequence even generated. the event is associated to the physical port. the event is directed towards the pmon & diag module. a clock available process detects a positive i_fclk within a 64 mclk clock cycle period. the result of this process is reported in the i_fclk_av flag in the table 52 spi-3 ingress fill level register (block_base 0x0200 + register_offset 0x02). a status change from the clock available status to the clock not available status generates a maskable spi-3 ingress clock unavailable interrupt indication, spi3_iclk_un, in table 62-non lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x0c).
14 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 figure 3. link mode spi-3 ingress interface IDT88P8344 (link mode) phy i_fclk i_mod[1:0] 6370 drw25 i_rsx i_enb i_eop i_sop rval i_prty i_data[31:0] i_err figure 4. phy mode spi-3 ingress interface byte mode packet mode 6370 drw26 IDT88P8344 (phy mode) link i_fclk i_mod[1:0] i_sop i_enb i_prty i_data[31:0] i_err addr[7:0] ptpa dtpa[3:0] stpa i_eop i_rsx spi-3 ingress link mode refer to [glossary] for details about the spi-3 interface. ? the phy pushes data into the device in blocks from 1 up to 256 bytes. ? the spi exchange provides backpressure for the spi-3 ingress physical interface by the i_enb signal. the i_enb is asserted when at least one active lid can not accept data. this feature is enabled by the backpressure_en flag in the spi-3 ingress configuration register (register_offset = 0x01). when the flag is cleared the i_enb signal will not be asserted, hence no backpressure can be generated. spi-3 ingress phy mode the spi exchange indicates to the link layer it has buffer space available by proper response to either link layer polling (packet mode ) or direct indication on dtpa signals (byte mode). the selection is made by the packet flag in the spi-3 configuration register. ? in packet mode the device responds to polling (by link layer device) ? in byte mode the direct status indication is limited to 4 addresses (fixed ports [3:0])
15 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 3.1.2 spi-3 egress - all fragments will be of a programmable equal length with the exception of eop fragment which may be shorter lid to lp map - 64 entries, one per lid, for each spi-3 egress port - lp enable control multiple burst enable - allows more than one burst to be sent to an lp. poll length - for use when in link mode and when using the packet level mode - causes polling of the phy for the logical ports associated to lids ranging from [0 up to poll_length] to find logical ports that can accept data - range is 0-63 loopback enable - enables loopback from spi-3 physical interface to same spi-3 physical interface for test purposes data memory egress control the spi-3 egress port descriptor table (block_base 0x1700) for both paths out of the data memory. the function of the spi-3 egress port descriptor table (block_base 0x1700) is to define where data goes after exiting the main data memory. there are four options configurable: - spi-3 - spi-4 - capture - discard maximum number of memory segments - defines the largest buffer available to a lp / lid - each segment is 256 bytes - range 1 ? 508 in increments of one segment spi-3 egress interface configuration ? spi exchange allows for a pause at least two cycles of e_fclk between successive transfers. ? spi exchange allows for over clocking for a higher clock frequency supported as opposed to the one defined by the spi-3 implementation agreement. ? the link mode is selected by the link flag in the spi-3 general configuration register. ? the interface operates in packet mode or byte mode as defined by the packet flag in the spi-3 general configuration register. ? spi exchange generates even or odd parity over e_data[7/31:0] on the e_prty signal as defined by the even flag in the table 50, spi-3 general configuration register (register_offset=0x00). ? spi exchange optionally generates two dummy cycles after assertion of the stx signal. the option is enabled by the stx_spacing flag in the table 50, spi-3 general configuration register (register_offset=0x00). ? spi exchange optionally generates two dummy cycles after assertion of an eop signal. the option is enabled by the eop_spacing flag in the table 50, spi-3 general configuration register (register_offset=0x00). spi-3 egress interface errors a clock available process detects an e_fclk cycle within a 64 mclk clock cycle period. the result of this process is reported in the e_fclk_av flag in table 58, spi-3 egress fill level register (block_base 0x0700 + register_offset=0x03) . a status change from the clock available status to the clock not available status generates a maskable spi-3 egress clock unavailable interrupt indication, spi3_eclk_un, in table 62-non lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x0c).
16 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 6370 drw39 IDT88P8344 (phy mode) link e_fclk e_mod[1:0] e_sop e_enb e_eop e_rsx e_prty e_data[31:0] e_err rval figure 6. phy mode spi-3 egress interface byte mode packet mode 6370 drw38 IDT88P8344 (link mode) phy e_fclk e_mod[1:0] e_sop e_enb e_prty e_data[31:0] e_err addr[7:0] ptpa dtpa[3:0] stpa e_eop e_rsx figure 5. link mode spi-3 egress interface spi-3 egress link mode the spi exchange receives status information from the phy. the phy indicates its ability to receive data. status information for all logical ports is directed towards the packet fragment processor. status information is received from the phy. ? in packet mode, the spi exchange polls the phy for the logical ports associated to lids ranging from 0 up to poll_length to find logical ports that can accept data. the poll_length field is defined in the spi-3 egress configuration register. ? in byte mode the spi exchange allows for direct status detection. this status information is directly forwarded to the packet fragment proces- sor if enabled by the burst_en flag. when the burst_en flag is cleared the only one packet fragment per lp is allowed into the spi-3 egress buffers. spi-3 egress phy mode in phy mode, the spi exchange sends data to the attached link-mode device as long as the e_enb signal is asserted. the spi-3 packet fragment processor transfers data to the spi-3 egress buffers.
17 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 3.2 spi-4 refer to oif spi-4 document (see glossary) for full details of the implemen- tation agreement. - clock rate is 80 - 400 mhz (160 - 800mhz ddr) - link and phy modes supported - address range 0 to 255 with support for 256 simultaneously active logical ports - maxburst parameters configurable 16-256 bytes in 16 byte multiples - 256 entry calendar - lvttl and lvds status signals supported the following are implemented for the spi-4 interface: - link / phy layer device - physical port active 3.2.1 spi-4 ingress the spi-4 ingress includes ? bit alignment ? word alignment/ de-skew ? transfer decode and dispatch ? pfp interface ? status frame generation spi-4 ingress configurable parameters spi-4 lid map - 256 entries, one per spi-4 lp - spi-3 physical interface identifier - physical port enable word / bit synchronization - lvds clock data alignment and lvds data de-skew minimum packet length - packets shorter than the minimum length will be optionally counted in the short packet counter. - range 0 ? 255 in 1 byte increments maximum packet length - packets longer than the maximum length will be optionally counted in the long packet counter. - range 0 ? 16,383 in 1 byte increments free segment backpressure threshold - number of free buffer segments allocated to trigger backpressure for the lp
18 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 eye measurement c[0]= rt.d2^rt.d3 c[1]= rt.d3^rt.d4 ?.. c[7]= rt.d9^rt+1.d0 c[8]= rt+1.d0^rt+1.d1 c[9]= rt+1.d1^rt+1.d2 accumulation results during a window defined by w are stored in the diagnostics table. the latest result can be read out for diagnostic purposes. output tap selection the sampling tap is automatically selected based on the eye measurement. data sampling the i_low field in the table 89 spi-4 ingress configuration register (block_base 0x0300 + register_offset 0x00) selects an operating mode between 80 mhz and 200 mhz or between 200 mhz and 400 mhz. each lane is over-sampled by a factor of five. the over-sampled data is generated by a locked tapped delay line and clocked in to a register at the clock rate. the current samples c(n) and the previously generated samples provide samples for the eye computation. the optimized sampling point will be selected based on the eye computation. the tap selector is updated if necessary at the end of the eye pattern measurement interval. the tap selector moves no more than one tap at a time as a result of the eye pattern measurement. clk d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 ff ff ff ff ff ff ff ff ff ff data clk d0 d1 d9 d0 d2 d3 d4 d5 d8 d7 d6 d9 d8 d7 d6 d5 d4 d3 d2 d1 r(t+1) r(t) figure 7. data sampling diagram
19 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 manual phase selection the automatic phase adjustment can be overruled by the processor when the force flag is set see table 99, spi-4 ingress bit alignment control register (register_offset 0x11). the phase_assign field see table 113, spi-4 ingress manual alignment phase/result register (0x0c to 0x1f) now defines the selected phase. word alignment the de-skew block searches for the training control word 0x0fff. if the training control word is found, then training data is expected to follow the training control word. the orthogonal training data will be used to align the word. a de-skew control bit (i_dsc in table 89-spi-4 ingress configuration register at block_base 0x0300 + register_offset 0x00) is used to protect against a random data error during de-skew. if i_dsc=1, then two consecutive de-skew results are required. it is recommended to set i_dsc to 1. for diagnostics, an out of range offset between lines is provided. if the offset is more than two bits between the earliest and latest samples, i_dsk_oor is set to a logic one. i_dsk_oor is cleared to a logic zero when the offset is in range. transfer decode and dispatch in the out_of_synch state, the de-skew block will decode the transfer, and check the dip-4 for validation. a number of consecutive error free dip-4 ingress bursts will lead to a transition to the in_synch. the number is defined by the i_insync_thr field in table 89-spi-4 ingress configuration register (block_base 0x0300 + register_offset 0x00). in the in_synch state, the pfp decodes the status transfer, check the dip- 4, and dispatches the data. a number of consecutive dip-4 errors will lead to the out_of_synch state. the number is defined by the i_outsync_thr field in table 89-spi- 4 ingress configuration register (block_base 0x0300 + register_offset 0x00). a number of consecutive training patterns will lead to out_of_synch. the number is defined by the strt_train field in the table 100 spi-4 ingress start up training threshold register (block_base 0x0300 + register_offset 0x12). this feature is disabled if strt_train=0. control word and data a control word is distinguished by the spi-4 rtcl signal. (logic one = control word). dip-4 check for the dip-4 check algorithm refer to the oif spi-4 document [glossary]. in both in_synch and out_of_synch states, only control word previous and following data is checked. any transition on synch status will be captured. in in_synch state, each dip-4 error is captured and counted. in_synch out_of_synch a= a number of consecutive dip-4 error or reset or interface disabled or a number of consecutive training pattern received b= a number of consecutive dip-4 error free a b 6370 drw35 figure 8. spi-4 ingress state diagram transfer decode the spi-4 ingress control word contains various fields. refer to the oif spi- 4 document [glossary] for details. if reserved control word, bit[15:12]=0011, 0001, 0101, or 0111 is detected, a bus_error event is generated. if a payload control word is not followed by a data word, or a data word does not follow a payload control word, a bus_error event is generated. if abort is detected, the next packet will be tagged with an error. data dispatch the port address field of a payload control word is extracted as a search key. the search key is used to search the dispatch info in table 86, spi-4 ingress lp to lid map (256 entries, one per lp). if the searched port is active, transfer data is sent to the associated pfp with sop, eop, length, packet_error. if the searched port is inactive, a spi4_inactive_transfer event is generated. a spi-4 inactive transfer event with it's associated lp will be captured in the table 40, spi-4 status register (0x22 in the direct accessed space). spi-4 ingress status channel calendar structure and swapping the spi exchange supports one or two sets of calendars. if i_csw_en field in the table 89, spi-4 ingress configuration register (0x00)=1, two sets of calendars are supported. a calendar selection word must be placed following the framing bit. refer to the oif spi-4 document [see glossary] for more details. spi-4 ingress status channel frame generation the status frame can be one of the following cases: ? all ?11? when lvttl is in the out of synch state ? training pattern when lvds is in the out of synch state or in periodic training
20 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 ? normal status information when in the in_synch state the normal status information is generated based on ingress buffer full information and pfp buffer segment fill level. for information on dip-2 generation and training pattern refer to the oif spi- 4 document [glossary]. dip-2 error insertion a number of consecutive dip-2 errors can be generated. the i_ dip_e_num field in table 97, spi-4 ingress diagnostics register (register_offset 0x0f) specifies the number of errors to be generated. a logic one written to i_error_ins will activate the i_dip_e_num field and trigger error insertion. the i_error_ins field self clears when the number of errors have been generated. lvttl and lvds status interface selection the lvds_sta pin selects which fifo status interface is being used for spi- 4. high = lvds status interface, low = lvttl status interface. 3.2.2 spi-4 egress the spi-4 egress includes ? status channel synchronization ? status updating ? data transfer ? periodic training ? pfp interface spi-4 egress configurable parameters all parameters as listed in the 0if spi-4 document [see glossary] calendar_len: 4 to 1,024 in increments of 4 calendar_m: 1 to 256 in increments of 1 maxburst1 (maxburst_s): 16 to 256 in increments of 16 maxburst2 (maxburst_h): 16 to 256 in increments of 16 alpha: 1 to 256 in increments of 1 data_max_t: 1 to 4,294,967,040 in increments of 1 fifo_max_t: 1 to 16,777,215 in increments of 1 calendar and shadow calendar - 256 entries - e_csw_en field in table 104, spi-4 egress configuration register_0 (register_offset 0x00) bit for manual reconfiguration swap multiple burst enable - allows more than one burst to be sent to an lp. feature included to relieve systems with long latency between updates. spi-4 egress lid to lp map - 256 entries, one per spi-4 lp - enable bit ingress egress out of synch, send status training out of synch, send data training in synch, send status frame out of synch, send data training in synch, send status frame in synch, send data/idle 3.2.3 spi-4 startup handshake ingress egress out of synch, send status training in synch, send data/idle out of synch, send status training out of synch, send data training in synch, send status frame out of synch, send data training in synch, send status frame in synch, send data/idle table 11 ? ingress out of synch, egress in synch table 10 ? both attached devices start from reset status ingress egress in synch, send status frame out of synch, send data training out of synch, send status training out of synch, send data training in synch, send status frame out of synch, send data training in synch, send status frame in synch, send data/idle table 12 ? ingress in synch, egress out of synch
21 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 egress status channel status channel bit alignment the bit alignment algorithm for the status channel is the same as was described for the data channel. validate in_synch a b a= a number of consecutive error free dip-2s received b= a number of consecutive dip-2 errors, in training, port disabled, or reset hunt c d 6370 drw30 figure 9. spi-4 egress status state diagram the status channel frame module has 3 states: hunt, validate and in_synch. in the hunt state, the status channel frame module searches for status frame, status clear and status freeze. in the validate state, the status channel frame module checks dip-2. in the in_synch state, the status channel frame module checks dip-2, and updates status. hunt state ? in the hunt state, per link status is fixed to ?satisfied?. ? in hunt state, the pfp searches frame continuously. it transitions to the validate state if a single valid frame is found accompanied by a single valid training pattern. a frame is considered to be found if : 1) only one frame word is at the beginning of a frame, 2) the calendar selection word, if enabled, is matched, and 3) the dip-2 calculation matched the received dip-2. validate state in the validate state, based on the frame found while in the hunt state, the dip-2 is checked. if a single dip-2 error is found, transition to the hunt state. after a number of consecutive dip-2 calculations proves to be error free, transition to the in_synch state. the number is defined by the e_insync_thr field in table 104-spi-4 egress configuration register_0 (block_base 0x0700 + register_offset 0x00). in the validate state, the training pattern is not checked. in_synch state in the in_synch state, training frame and status frame are checked. dip-2 is checked for status frame. each mismatched dip-2 will generate a dip-2 error event, each event will be captured and counted. after a number of consecutive dip-2 errors, transition to the hunt state. (clear status in hunt mode). the number is defined by the e_outsync_thr field in table 104-spi-4 egress configuration register_0 (block_base 0x0700 + register_offset 0x00). the reception of twelve consecutive training patterns forces a transition to hunt mode. if less than twelve consecutive training patterns are received, synch will not be lost, and status frame starts at the end of training. twelve consecutive ?11? patterns force a transition to the hunt state. status updating occurs without waiting for the end of a status frame. lvttl or lvds status channel option the lvds_sta pin selects the interface type. a logic high enables the lvds status interface. a logic low enables the lvttl status interface. data channel data transfer and training at any cycle, the contents on the interface can be one of the following: ? control word: payload control word, or idle control word or training control word. ? data word: payload data word or training data word. in the hunt or the validate state, the training pattern is sent. in the in_synch state, data from is taken from the buffer segments and egressed to the spi-4 interface. the switch between data burst, idle, and training must obey the following rules: ? send idle if no data to transmit ? sop must not occur less than 8 cycles apart. ? periodic training after current transfer finished payload control word generation: ? bit 15, control word type=1 ? bit [14:13] eops per [see glossary: spi-4]. if an error tag is in the descriptor, abort. ? bit [12] sop refer to [see glossary: spi-4] ? eight bit address. mapping table defined in table 101, spi-4 egress lid to lp map (256 entries) ? dip-4 bit refer to [see glossary] payload data word ? bit order refer to [see glossary: spi-4] ? if only one byte is valid, 8 lsb (b7 to b0) is set to 0x00. no status channel option once the nostat bit is set, the status channel is ignored. refer to table 104, spi-4 egress configuration register_0 (register_offset 0x00). status in default value. no dip error check. no status updating, the received status fixed to starving. data channel works same as in in_synch state. status channel frame synchronization status channel de-skew the lvds status channel deskew uses the same algorithm as the as the data channel.
22 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 3.3 microprocessor interface - parallel microprocessor interface ? 8 bit data bus for parallel operation ? byte access ? direct accessed space ? indirect access space is used for most registers ? read operations to a reserved address or reserved bit fields return 0 ? write operations to reserved addresses or bit fields are ignored - serial microprocessor interface ? compliance to motorola serial processor interface (spi) specification ? byte access ? direct accessed space ? indirect access space is used for most registers ? read operations to a reserved address or reserved bit fields return 0 ? write operations to reserved addresses or bit fields are ignored general purpose i/o five general purpose i/o pins are provided. the direction is independently controlled by the dir_out field in the gpio register (table 123 gpio register (0x20)). the logical level on a pin is controlled by the level field in the gpio register if dir_out=1, or sensed if dir_out=0. the level bit monitors the logic level of any bit selected from the indirect access space if monitor_en is set high. a bit in the indirect access space can be selected for monitoring by the by the address and bit fields in the gpio link table (table 124, gpio monitor table (5 entries 0x21-0x25 for gpio[0] through gpio[4]) ). all gpio pins must be programmed into or out of monitor mode at the same time. interrupt scheme events are captured in interrupt status registers. interrupt status flags are cleared by an microprocessor write cycle. a logical one must be written to clear the flag(s) targeted. a two level interrupt scheme is provided comprising a primary level and a secondary level. the primary level identifies the secondary interrupts sources with a pending interrupt. this information is reflected in the primary interrupt register. interrupt status can be enabled by associated flags both in the primary and secondary level of the interrupt scheme. figure 10. interrupt scheme 6370 drw22 event enable & | | intb interrupted status primary interrupt level & captured event interrupted status enable model status secondary interrupt level
23 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4. datapath and flow control the following sections describe the datapaths through the device. the datapaths shown are as follows: - spi-3a <-> spi-4 - spi-3b <-> spi-4 - spi-3c <-> spi-4 - spi-3d <-> spi-4 - spi-3a <-> spi-3b - spi-3c <-> spi-3d - spi-3a <-> microprocessor interface - spi-3b <-> microprocessor interface - spi-3c <-> microprocessor interface - spi-3d <-> microprocessor interface - spi-4 <-> microprocessor interface where <-> indicates a bidirectional data path. the IDT88P8344 supports four spi-3 interfaces and a single spi-4 interface. all spi-3 interfaces can operate independently in a phy or link mode. refer to figure 11, definition of data flows for the main data flows in the device. independent logical data flows are transported over each of the physical ports. those logical flows are identified by logical port addresses on the physical port and by a link identification (lid) map in the core of the IDT88P8344. data buffer allocation flexibility has been provided to the user for data buffer allocation. the device has 128 kbyte of on chip memory per spi-3 port per direction ? a total of 1mbyte of on-chip data memory. the 128 kbyte spi-3 buffers (8 instantiations per device) are divided into 256 byte segments. the segments are controlled by a packet fragment processor. the user configures the maximum number of segments per lp to allocate to a port and the number of segments allocated from the buffer segment pool that will trigger the flow control mechanism. there is no limitation on the reallocation of freed segments among logical ports, as would be present if the memory had been allocated by a simple address mechanism. figure 11. definition of data flows 6370 drwxa spi-3a physical port spi-4 to spi-3 from spi-3 to spi-4 from spi-4 spi-3 egress spi-3 ingress spi-4 ingress spi-4 egress spi-3-4 path spi-4-3 path physical port spi-3b physical port spi-3c physical port spi-3d physical po r t spi-3 extract spi-3 insert spi-4 insert spi-4 extract
24 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 datapath configuration a logical view of datapath configuration using packet fragment processors is shown in figure 12, logical view of datapath configuration using pfps . two pfps are associated with each spi-3 port, one for ingress and one for egress. logical ports are mapped internally into logical identifiers (?lids?, ?lid map?) for the control of each per-lid data flow to each physical port, logical port, memory queue size, and backpressure threshold (watermark), by program- ming the lid register files. figure 12. logical view of datapath configuration using pfps [lid] = lp | en | brv spi-3 egress lid to lp map (one of four: abcd) [lp] = lid | en | brv spi-3 ingress lp to lid map (one of four: abcd) [lid] = lp | en spi-4 ingress data spi-4 egress data [lp] = lid | ppe | en lid brv en lp brv en lp en 256 lids spi-4 egress lid to lp map pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) pfp and memory (one of four: abcd) spi-3 ingress data (one of four) spi-3 egress data (one of four) pfp and memory (one of four: abcd) lid en a/b/ c/d 256 lps spi-4 ingress lp to lid map 256 lps 64 lids 6370 drwxb lid - logical identifier en - lid enable flag brv - bit reversal lp - logical port pfp - packet fragment processor
25 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.1 spi-3 to spi-4 datapath and flow control four packet fragment processor modules from spi-3 to spi-4 are provided. one packet fragment processor module is associated with one spi-3 ingress interface. all four packet fragment processor modules connect to a single spi- 4 interface. packet fragments from the spi-3 ingress are received into the spi-3 ingress port buffers. a packet fragment processor transfers complete packet fragments from the spi-3 ingress port buffers to memory segments previously reserved on a per-lp basis in the buffer segment pool. the spi-3 ingress port buffer watermark and the per-lp free buffer segment threshold information is combined to produce spi-3 ingress fifo status towards the attached device. packets or packet fragments received on one spi-3 ingress logical port can be forwarded to any one of: a logical port on the egress spi-4 interface. a logical port on an associated spi-3 interface (between physical port interfaces a and b, and between c and d only). the microprocessor interface, using the capture buffer. the connection on the logical port level is performed through an intermediate mapping to a link identification number (lid). figure 13. spi-3 ingress to spi-4 egress packet fragment processor 6370 drw27 buffer segment pool pmon & diag spi3 egress port buffers up associated egress pfp capture buffer spi-3 redirect buffers up insert buffer spi3 ingress spi4 egress fifo status fifo status spi3 ingress port buffers spi-3 ingress pfp functions the packet fragment processor(pfp) receives status information about the spi-3 ingress buffers and the microprocessor insert buffer. the pfp processes spi-3 ingress buffers in high priority and the insert buffer with low priority. the pfp copies data into the buffer segment , requests new buffer segments, and generates entries in the spi4-egress queue. spi-3 ingress buffer processing the pfp verifies whether a spi-3 ingress buffer is occupied. if the spi-3 ingress buffer is not occupied the pfp processes the insert buffer. normal operation in loopback mode, all of the spi-3 ingress buffers of a physical spi-3 port are copied into the sp-3 egress buffers of that same port. this is a test mode only, as no non-loopback traffic can be transferred at this time. in non ? loop back mode (normal operation) the spi-3 ingress buffers are forwarded to the lid process by the pfp. the lid process generates a set of events for an associated lid. the events that are directed towards the pmon&diag module are: ? spi-3 error tagged packet event (errored packets) ? spi-3 eop event (all packets) ? spi-3 fragment event (all fragments) with an associated length field
26 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 erroneous operation spi-3 ingress buffers marked with an address parity error are always immediately flushed. a spi-3 flush event is generated. store process the process parameters are stored in a descriptor table. one entry in the table is required for each of the spi-3 logical ports. refer to table 49, spi-3 ingress lp to lid map . ? fragments tagged with an sop indication trigger the buffer segment request process. the internal packet_length variable is initialized. the copy process is triggered. ? fragments tagged with an eop indication will trigger the packet length check process and the queue process. ? non marked (eop or sop) buffers are subject to the copy process. buffer segment request process a new buffer segment is requested for the logical port from the buffer segment pool. the request can be accepted or rejected by the buffer pool. when accepted, the current_seg and current seg_length variables are updated. when rejected, the spi-3 ingress buffer is flushed. an spi-3 flush event is generated and directed towards the table 61, non lid associated event counters (0x00 - 0x0b). the buffer data is not copied into the spi3-4 buffer. copy process data is retrieved from the buffer and stored in the current segment. the data parity error status is stored in the pack_err variable. the packet_length variables and seg_length variables are updated. the queue and request processes are triggered when the number of bytes in the buffer segment equals the spi-3 packet fragment size programmed for that physical interface, or an eop is reached. queue process the current segment is entered into the spi-4 egress queue. packet length check the length of the packet is compared to the min_length and max_length parameters in the ingress spi-3 port descriptor table. if the packet length is less than the programmed field min_length a ? spi-3 too short packet event ? is generated. if the packet length is greater than the programmed field max_length a ? spi-3 too long packet event ? is generated. the events are directed towards the table 61, non lid associated event counters (0x00 - 0x0b). spi-3 to spi-4 buffer management a 128 kb spi-3 to spi-4 buffer segment pool is assigned to each physical spi-3 ingress port. a configurable part of this buffer segment pool is assigned to buffers associated to each of the up to 64 lids. the buffer size for a lid can be configured in multiples (m) of 256 bytes. fewer lids allow larger buffers per lid, conversely a large number of lids will require smaller buffers per lid. within this restriction, the buffer size of each lid can be further restricted as needed to control latency. modifications of the buffer size allocated to a lid are supported only when the logical port associated to the lid is disabled. attempts to allocate more memory than available will generate an allocation error event. the indirect access module will discard the attempt. free buffer segment pool storage the buffer segment pool is divided into 508 segments. the device holds a pool of free buffer segments. the buffer segment pool keeps track of the number of segments assigned to each lid and holds a list of free segments. buffer segment requests a new segment for a logical link (lid) can be requested from the buffer segment pool for that spi-3 ingress physical port by the spi-3 ingress packet fragment processor associated to that spi-3 physical port. a request may be accepted immediately or rejected. when the request is accepted a buffer segment id is returned immediately. buffer segment pool returned segments a buffer segment can be returned to the buffer segment pool when the egress module releases it. this allows the segment to be used once more by the spi- 3 ingress. spi-4 egress queues normal operation 508 spi-4 egress queue entries are provided. they are evenly allocated to the number of logical ports as defined by the static nr_lid configuration. one entry in the queue corresponds to a packet or a packet fragment to be forwarded to the spi-4 egress interface. spi-3 ingress backpressure the module directs status signals for each of the 64 lids associated with a spi-3 physical interface towards the spi-3 ingress interface. the status signals request to transfer more data on the logical port associated to the lid. the available status is defined by the function (if free segments [lid] > threshold, status =available). spi-4 egress direction control the spi-4 egress traffic can be captured by the microprocessor, directed to an associated spi-3 egress port (spi-3 port a to b, or port c to d, only), to the spi-4 egress port, or discarded. the selection is defined for each of the 64 lids by the associated direction field in the table 13, direction code assignment. direction path 00 spi-4 01 associated spi-3 10 capture to microprocessor 11 discard table 13 - direction code assignment
27 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 egress data bursts the pfp produces fragments of up to n*16 bytes. n is defined by the max_burst_h or max_burst_s parameter associated with each lid. for a high priority (starving) lid the max_burst_s parameter is used. for a low priority (hungry) lid the max_burst_h parameter is used. the pfp may not fill the buffers to the level granted when a new segment needs to be used in the spi3-4 buffer memory or when the last fragment of a packet is copied into the buffer. the information received over the fifo status channel is interpreted as status or credit information as selected by the credit_en flag in table 78, spi-3 to spi-4 flow control register (0x01). if the status mode is used, data will be egressed until the status is changed. if the credit mode is used, the spi-4 egress will issue only one credit?s worth data burst and then wait for another credit from the status channel before issuing another lid burst. spi-4 egress fifo status channel updates the spi-4 egress fifo status channel module continuously verifies the status information for the lids associated to spi-4 logical ports. the pfp searches and selects a lid, fetches the associated information and queues data to the spi-4 egress. the obsolete buffer segment is returned to the free buffer segment pool (unless the repeat test feature is enabled). searching the lid to be served is performed for both a high priority and a low priority lid. the priority is defined by the status received from the spi-4 egress module. spi-3 ingress logical port mapping each of the four spi-3 interfaces has an associated spi-3 ingress lp to lid map, (see table 49) for the purpose of directing the packet fragments from its spi-3 ingress to its associated spi-3 ingress main memory buffer segment pool. the spi-3 lid map has 256 entries, one per spi-3 lp, but only 64 lps are supported on any spi-3 interface at any one time. each spi-3 interface has an enable bit, as well as the ability to reverse the bit ordering of the interface. the packet fragment length is associated with a spi-3 interface. the allowed range is 0 to 255 bytes per packet fragment. the last fragment of a packet can be shorter than the programmed fragment size. each spi-3 port can be independently set for either link or phy mode of operation. spi-3 ingress lid associated control each lid on a spi-3 interface has the ability to be programmed for minimum and maximum packet length. the minimum packet length can be set from 0 to 255 bytes in one byte increments. the maximum packet length can be set from 0 to 16,383 bytes in one byte increments. each lid can be enabled and disabled independently. figure 14. spi-3 ingress lp to lid map 6370 drwxc lid brv en 256 lps [lp] = lid | en | brv lid: logical identifier en: lid enable brv: bit reversal
28 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 egress interface port associated control the spi-4 interface has an associated lid to lp map (see table 101 - spi- 4 egress lid to lp map block_base 0x0400 = register_offset 0x00 - 0xff) for the purpose of directing the packet fragments from the selected spi-3 ingress main memory buffer segment pool to the spi-4 egress interface. the spi-4 lid map has 256 entries, one per lid. the spi-4 interface has an enable bit. the burst length is associated with the spi-4 interface. the allowed burst range is 16 to 256 bytes per burst. the last burst of a packet can be shorter than the programmed burst size. spi-4 egress lid associated control each of the 256 entries in the spi-4 egress lid to lp map (see table 101 - spi-4 egress lid to lp map (256 entries)) is used to control the pulling of bursts out of the buffer segment pool and into the spi-4 egress interface. each lid can be enabled and disabled independently. figure 15. spi-4 egress lid to lp map 6370 drwxd lp en 256 lids [lid] = lp | en figure 16. spi-3 ingress to spi-4 egress datapath ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw12 lp: logical port en: lp enable the diagram below shows the datapath through the device from a spi-3 ingress interface to the spi-4 egress interface.
29 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-3 ingress to spi-4 egress flow control for control information there are two separate cases to consider: the case that the spi-3 physical interface port is configured in link mode, and the case that the spi-3 is configured in phy mode. note that since the spi-3 physical interfaces are configured separately, the device is able to deal with the case that some of the lp fragments have been received on a link layer device spi-3 interface and some have been received on a phy layer device spi-3 interface. for a device in link mode the link device can only control the flow of data through the renb signal. two modes of operation are implemented and configurable for flow control on this interface ? either the data can be allowed to flow freely into the device or the renb signal will be asserted if a condition arises that one of the lps is unable to receive another fragment. the first of these modes is considered to have no link layer device flow control, and the second has link layer device flow control. for the no link flow control mode, any data sent to an lp unable to receive another fragment will cause an lp overflow. for a device in link mode the link has complete knowledge of the fill level of the data buffers in each of the lps in the phy. this knowledge is attained either through byte level polling or packet level polling. both in link and phy modes, the data is collected to buffer segments associated with an lp. the spi-4 pfp is updated with the number of free segments available to the lp. the spi-4 pfp determines which lp to service based on two factors: whether the lp contains enough data for a burst, and the starving / hungry / satisfied state of the lp. for details on the mapping of lps to lids, refer to table 101 - spi-4 egress lid to lp map block_base 0x0400 = register_offset 0x00 - 0xff. spi-3 ingress flow control registers the following are implemented per spi-3 interface, and there are four instantiations per device. backpressure enable link mode only enables the assertion of the i_enb pin when at least one active lid can not accept data if not enabled, the i_enb signal will never be asserted in link mode, possibly leading to fragments being discarded. spi-4 egress flow control configurable parameters all parameters as listed in spi-4 implementation agreement: calendar_len: 4 to 1,024 in increments of 4 calendar_m: 1 to 256 in increments of 1 maxburst1 (maxburst_s): 16 to 256 in increments of 16 maxburst2 (maxburst_h): 16 to 256 in increments of 16 alpha: 1 to 256 in increments of 1 data_max_t: 1 to 4,294,967,040 in increments of 1 fifo_max_t: 1 to 16,777,215 in increments of 1 spi-4 egress flow control calendar and shadow calendar 256 entries spi-4 egress flow control multiple burst enable allows more than one burst to be sent to an lp. this feature was included to increase throughput in systems with long latency between updates. figure 17. spi-3 ingress to spi-4 egress flow control path ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw12a status data path status status the diagram below shows the spi-3 ingress to spi-4 egress flow control path through the IDT88P8344 device. 4
30 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.2 spi-4 to spi-3 datapath and flow control four packet fragment processor modules from spi4 ingress to spi-3 egress are provided, all connected to one spi-4 ingress interface. packet bursts from the spi-4 ingress are received into the spi-4 ingress port buffers. a packet fragment processor transfers complete packet bursts from the spi-4 ingress port buffers to memory segments previously reserved on a per- lp basis in the buffer segment pool. the spi-4 ingress port buffer watermarks and the per-lp free buffer segment threshold information is combined to produce spi-4 ingress fifo status (per-lp starving, hungry, or satisfied) towards the attached spi-4 device. per-lp buffer segment threshold information is used to produce fifo status information for the attached spi-3 device. packets or packet fragments are forwarded to the spi-3 interface when a packet is complete or a predefined number of bytes have been received. packets or packet fragments received on one spi4 logical port are cross connected to an spi3 logical port through an intermediate mapping to a link identification, or lid. its mode of operation is similar to the spi-3 ingress to spi-4 egress packet fragment processor, with the following differences: 1) the pfp4-3 data input has three sources, listed in descending priority: spi-4 buffers, redirect buffers, and insert buffers. 2) the pfp3-4 data output has only three destinations. there is no spi-3 to spi-4 redirect path. each spi-3 interface feeds ingress buffer available or ingress buffer unavailable status information to its packet fragment processor. if the number of free segments available to a lp exceeds the starving threshold, the spi-4 status is moved to starving for that lp. if the number of free segments available to a lp exceeds the hungry but not the starving threshold, the spi-4 status is moved to hungry for that lp. if the hungry threshold is not exceeded, the spi-4 fifo status channel will indicate satisfied for that lp. spi-4 ingress to spi-3 egress datapath the following is a description of the path taken by a burst of data through the device from the spi-4 ingress to a spi-3 egress. data enters on the spi-4 ingress interface in bursts. bursts are normally of equal length except the last burst of a packet which may be shorter. the control word is in-band with the data. burst data enters a spi-4 ingress buffer. spi-4 lp address, error information, sop, eop are stored with the burst data. a spi- 4 lp address is mapped to a logical identifier (lid). the burst is stored in per lid allocated buffer segments reserved from the buffer segment pool. the appropriate spi-3 egress control register (table 80 - spi-3 egress port descriptor table (64 entries)) is consulted, and it determines to send this lid to a prescribed spi-3 egress port. the selection of which lp is to be transmitted next is dependent on the status of the lp and the availability of a complete fragment. data is moved to the appropriate spi-3 egress buffer along with the lp address. spi-3 lp address, error information, sop, and eop information is stored with the packet fragment. next, data is transmitted in packet fragments over the selected spi-3 interface. figure 18. spi-4 ingress to spi-3 egress packet fragment processor 6370 drw37 fifo status spi4 ingress up capture buffer up insert buffer associated ingress pfp spi-3 redirect buffers buffer segment pool spi-3 egress port buffers spi-4 ingress port buffers fifo status egress spi-3
31 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 ingress interface configurable parameters: the IDT88P8344 can interface to either a link or a phy layer device. the spi-4 port can be enabled or disabled. the spi-4 ingress bits are aligned with the ingress clock. in addition, the spi- 4 words are then aligned among each other to produce valid words. this is performed both on the data channel and the status channel. the bit alignment algorithm runs as long as the interface is active. the word alignment algorithm is run during training intervals. spi-4 ingress per-lid configurable parameters spi-4 to spi-3 lid map 256 entries, one per spi-4 lp spi-3 physical interface identifier spi-3 lid enable bit per lid spi-4 ingress packet length check each lid on the spi-4 ingress interface has the ability to be programmed for minimum and maximum packet length. the minimum packet length can be set from 0 to 255 bytes in one byte increments. the maximum packet length can be set from 0 to 16,383 bytes in one byte increments. packets shorter or longer than set by these parameters will be optionally counted in the short or long packet counter for that lid. spi-3 egress configurable parameters length of spi-3 packet fragment all packet fragments from a particular spi-3 physical interface are program- mable to an equal length with the possible exception of an eop fragment which may be shorter. spi-3 egress poll length applies when the spi-3 interface is acting as a link layer device when using the packet level polling mode causes polling of the phy for the logical ports associated with lids ranging from [0 up to poll_length] to find logical ports that can accept data poll range is 0-63 lps. spi-3 egress per-lid configurable parameters many parameters to control the flow of data are programmable per lid. the following paragraphs describe these parameters. spi-3 egress lid to lp map one map per spi-3 physical port 64 entries per map, one per lid lp enable bit per lp bit reversal enable per lp spi-3 egress multiple burst enable multiple burst enable allows more than one burst to be sent to an lp. this feature is included to relieve systems with long latency between updates. when this feature is not enabled, only one burst per lp is allowed into the round robin spi-3 egress buffers at a time. spi-4 ingress to spi-3 egress data memory spi-3 egress control there is a spi-3 egress port descriptor table for the paths out of the data memory. the function a spi-3 egress port descriptor table is to define where data goes after leaving the main data memory. there are three configurable options: spi-3 egress microprocessor interface capture discard maximum number of memory segments defines the largest buffer available to an lp / lid each segment is 256 bytes range 1 ? 508 in increments of one segment the figure below shows the datapath through the device from the spi-4 interface to the spi-3 interface. figure 19. spi-4 ingress to spi-3 egress datapath ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw13
32 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 ingress to spi-3 egress flow control the spi-4 control information is transmitted to the adjacent device. the adjacent device determines which lp to service next according to the status information it receives from the IDT88P8344. the spi-4 ingress data arrive in bursts that are of equal length except for the last burst of a packet which may be shorter. the spi-4 burst data is transferred to the per lid allocated buffer segments. the addition of the data may cause an update of the spi-4 status information (starving, hungry, satisfied), and may change the spi-3 stpa, dtpa, or ptpa signals when in phy mode. for the control information there are two separate cases to consider: the case that the spi-3 is configured to link mode, and the case that the spi-3 is configured to phy mode. note that since the spi-3 physical interfaces are configured separately, the IDT88P8344 device is able to deal with the case that some of the lp fragments are to be transmitted on a link spi-3 interface and some are to be transmitted on a phy spi-3 interface when in phy mode, the data is sent according the availability of the data in the buffer segment pool. in the link mode an extra consideration is taken to account ? that of the fill level of the ingress fifos in the adjacent device. backpressure threshold - number of free segments allocated to trigger backpressure for the lp the diagram below shows the spi-4 to spi-3 flow control path through the IDT88P8344 device. figure 20. spi-4 ingress to spi-3 egress flow control ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw13a status status status
33 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.3 spi-3 ingress to spi-3 egress datapath the spi-3 redirect buffer can store spi-3 packet fragments. the status of the packet fragment buffers is forwarded to the associated packet fragment proces- sor. the purpose of the spi-3 redirect is to enable per-lp flows between physical interfaces spi-3 a and spi-3 b; as well as between spi-3 c and spi- 3 d. other flows between spi-3 ports are not allowed; i.e ., between a and a, a and c, a and d, b and b, b and c, b and d, c and c, and d and d. the following is a description of the path taken by a fragment of data through the device. spi-3 modules are implemented in pairs (ports a & b or c & d). a spi-3 to spi-3 path is between an lp on one spi-3 to the paired spi-3. data enters on the spi-3 interface in fragments. fragments are of equal length except the last fragment of a packet which may be shorter. the lp address is in-band with the data. the packet fragment enters an ingress buffer. spi-3 lp address, error information, sop, and eop information is are stored with the fragment. the lp address is mapped to a lid. the fragment is stored in buffer segment pool per- lid-allocated memory space. the table 80, spi-3 egress port descriptor table (64 entries) is consulted, and the pfp decides to send a lid to the associated spi-3 egress port. the spi-3 packet fragment processor chooses the next lp. the choice of lp is dependent on status of the lp and availability of a complete fragment. data is moved to an egress buffer along with the spi-3 lp address, error information, sop, and eop information. data is transmitted in packet fragments over a spi- 3 interface. the paths to and from the microprocessor interface can be used to perform mappings from a spi-3 lp to a spi-3 lp where not provided, and from a spi- 4 to a spi-4 lp. however these paths are limited by the bandwidth of the microprocessor interface. the diagram below shows the datapath through the device from a spi-3 interface to its paired spi-3 interface. for the spi-3 redirect, the lid connecting associated port pairs must be the same in both directions. figure 21. spi-3 ingress to spi-3 egress datapath ? spi-3 / lid map ? ? spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz spi-4.2 min: 80 mhz max: 400 mhz jtag uproc chip counters memory lid counters memory interface block spi-4 / lid map spi-3 / lid map lid counters memory main memory a main memory b 6370 drw14 interface block interface block
34 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.4 microprocessor interface to spi-3 datapath capture/insert configurable parameters enable insertion / capture of data to the spi-3 or spi-4 data stream (which is dependent on the egress control register). for each direction, the following are to be used: - data for insertion or data captured - data available: set when data is available. asserted by device for capture, asserted by microprocessor for insertion. - lid: logical identifier of capture / insertion channel - length: length of data for insertion or capture - flags: sop, eop, address parity error, data parity error, packet error there are separate instantiations of microprocessor insert capture buffers for spi-3 and spi-4. capture data fragment packets can be captured from the spi-3-4 stream and directed towards the microprocessor. the capture buffer can store only one 256 byte packet fragment. when the buffer is full the data_available flag is set and a spi- 3 capture event is generated. the event is directed towards the interrupt module. read packet data fragment the microprocessor needs to read a buffer to capture a packet fragment. it verifies the data_available flag in the spi-3 capture control register. microprocessor reads the packet fragment and eop, sop, error, lid and length fields from the spi-3 data capture buffer. microprocessor hands over control of the capture buffer when it clears the data_available flag in the spi- 3 data capture control register (table 31 - spi-3 data capture control register). 4.4.1 spi-3 to ingress microprocessor interface datapath the diagram below shows the datapath through the device from the spi-3 interface to the microprocessor capture interface. the following is a description of the path taken by a fragment of data through the device. data enters on a spi-3 interface in fragments. fragments are of equal length except the last fragment of a packet which may be shorter. the lp address is in-band with the data. the fragment enters a spi-3 ingress buffer. spi-3 lp address, error information, sop, and eop are stored with the fragment. the lp address is mapped to a lid. the fragment is stored in lid allocated buffer segments. the table 80, spi-3 egress port descriptor table (64 entries) is consulted, and the pfp decides to send this lid to the microprocessor capture port. data is moved to the capture buffer along with the lp address. lid, error information, sop, and eop. the data available bit is set. data and control information are read from the relevant register space through the microprocessor interface. figure 23. spi-3 ingress to microprocessor capture interface datapath ? ? jtag uproc chip counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz spi-4.2 min: 80 mhz max: 400 mhz interface block interface block spi-3 / lid map spi-4 / lid map main memory a lid counters memory 6370 drw15 figure 22 . microprocessor data capture buffer 6370 drw28 flags length data[1] data[2] data[255] lid data[0] sop ea ed par eop not used ea ed par data parity error address parity error packet error 70 insert sequence t t+1 t+258 extract sequence t t+1 t+258
35 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.4.2 microprocessor insert to spi-3 egress datapath the diagram below shows the datapath through the device from the microprocessor data insert interface to a spi-3 egress port. the following is a description of the path taken by a fragment of data through the device. data and control information are written to the insert buffer through the microprocessor interface. the data available bit is set. data is stored along with its lp address, lid (including spi-3 choice), error information, sop, and eop. data is stored in lid-allocated buffer segments. the table 80, spi-3 egress port descriptor table (64 entries) is consulted and the pfp decides to move the data to the spi-3 egress port. the spi-3 packet fragment processor chooses the next lp. the choice of lp is dependent on the status of the lp and the availability of a complete fragment. data is moved to a spi-3 egress buffer along with its lp address. spi-3 lp address, error information, sop, and eop. data is transmitted in packet fragments over the selected spi-3 egress interface. figure 25. microprocessor interface to spi-3 egress detailed datapath diagram ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw16 figure 24 . microprocessor data insert buffer 6370 drw28 flags length data[1] data[2] data[255] lid data[0] sop ea ed par eop not used ea ed par data parity error address parity error packet error 70 insert sequence t t+1 t+258 extract sequence t t+1 t+258
36 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.4.3 microprocessor interface to spi-4 egress datapath packets can be inserted into the spi-3-4 datapath by the microprocessor. the following is a description of the path taken by a burst of data through the device. data and control information are written to the insert buffer through the microprocessor interface. the data available bit is set. data is stored in the insert buffer along with the lp address, lid, error information, sop, and eop. data is stored in per-lid allocated buffer segments. the table 36-spi-3 data insert control register is consulted, and determines to send this lid to the spi-4 egress port. the spi-4 packet fragment processor chooses the next lp. data is sent to the spi-4 egress buffer along with the spi-4 lp address, error information, sop, and eop. data is transmitted in bursts over the spi-4 egress interface. the microprocessor needs to write data into a dedicated buffer to insert a packet burst. refer to figure 26, microprocessor data insert buffer for the data format in the buffer. the microprocessor must verify the data_available flag in the spi-4 insert control register and waits until the flag is cleared. the microprocessor specifies the eop, sop, error, lid and length fields and writes up to 256 bytes of packet fragment burst into the insert buffer. the packet burst insert buffer is accessed through the table 34, spi-4 data insert register (register_offsets 0x03, 0x0b, 0x13, 0x1b) spi-4 data insert register. the microprocessor hands over control of the buffer setting the data_available flag in the spi-4 insert control register. a spi4_insert_empty event is generated when the data_available flag is cleared. the event is directed towards the interrupt module. figure 26. microprocessor data insert buffer 6370 drw28 flags length data[1] data[2] data[255] lid data[0] sop ea ed par eop not used ea ed par data parity error address parity error packet error 70 insert sequence t t+1 t+258 extract sequence t t+1 t+258 figure 27. microprocessor data insert interface to spi-4 egress datapath ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw18 the diagram below shows the datapath through the device from the microprocessor data insert interface to the spi-4 egress interface.
37 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 4.4.4 spi-4 ingress to microprocessor interface datapath the diagram below shows the datapath through the device from the spi-4 interface to the microprocessor data capture interface. the following is a description of the path taken by a burst of data through the device. data enters on the spi-4 interface in bursts. bursts are normally of equal length except the last burst of a packet which may be shorter. the control word is in-band with the data. the burst data enters a spi-4 ingress buffer. spi-4 lp address, error information, sop, and eop are stored along with the burst data. the spi-4 lp address is mapped to a lid. data is stored in per-lid allocated buffer segments. the direction field of the spi-3 egress port descriptor (block_base 0x1700 + register_offset 0x00 - 0xff) is used to send this lid data to the microprocessor port. data is moved to the capture buffer along with the lp address, lid, error information, sop, and eop. the data available bit is set by the pfp. data and control information are read from the capture buffer through the microprocessor interface. figure 29. spi-4 ingress to microprocessor data capture interface path ? ? jtag uproc lid counters memory 4 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw17 figure 28. microprocessor data capture buffer 6370 drw28 flags length data[1] data[2] data[255] lid data[0] sop ea ed par eop not used ea ed par data parity error address parity error packet error 70 insert sequence t t+1 t+258 extract sequence t t+1 t+258
38 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 5. performance monitor and diagnostics 5.1 mode of operation a performance monitor & diagnostics module is available in modules a, b, c, and d. the performance monitor captures events and accumulates error events and diagnostics data. some performance monitor accumulators are associated to a physical port, some to a lid. 5.2 counters all events and diagnostics data are accumulated during an interval defined by the timebase event. the data accumulated during the previous time period can be accessed by the indirect access scheme. the counters are cleared when the timebase expires. all counters are saturating, and will not overflow. 5.2.1 lid associated event counters a set of event counters is provided for each of the 64 lps on each spi-3 interface and for each lid to/from the spi-4 module. a packet is delineated by an sop and eop on the spi-3 / spi-4 logical port. it is defined as ?bad? when the packet is tagged with an error. all packets that are not ?bad? are considered ?good?. for more information refer to table 60 - lid associated event counters (0x000-0x17f). 5.2.2 non - lid associated event counters a set of event counters is provided for each of the spi-3 and spi-4 physical interfaces. refer to table 61, non lid associated event counters (0x00-0x0b) for the offset in the indirect access space, and for the events recorded. 5.3 captured events two categories of events are captured: lid and non lid associated events. if at least one event is captured in one of the interrupt indication registers, an active pmon service request is directed towards the interrupt module. 5.3.1 non lid associated events non lid associated events are captured into the table 62 - non lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x00 to 0x0b). an interrupt is generated if the event is enabled by its enable flag in the table 63 - non lid associated interrupt enable register(block_base 0x0c00 + register_offset 0x0d). the interrupt is cleared by writing a logical one to the table 62 - non lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x00 to 0x0b). 5.3.2 lid associated events two types of lid associated events are captured. non critical events are defined in table 64 - lid-associated interrupt indication register(0x0e) and are associated with the physical interface. critical events are defined as buffer overflows within the IDT88P8344 device in table 67, spi-3 to spi-4 critical lid interrupt indication registers (register_offset 0x16-0x17). 5.3.2.1 non critical events lid associated non critical events are captured in the table 64, lid- associated interrupt indication register(0x0e). an interrupt is generated if the interrupt is enabled by its enable flag in the table 65, lid-associated interrupt enable register(0x0f). the interrupt indication is cleared by writing a logical one to the table 64, lid-associated interrupt indication register(0x0e). when the event is captured, the lid or lp associated with the event is captured in table 66, non-critical lid-associated capture table (0x10- 0x15). the table records the latest captured lid or lp. 5.3.2.2 critical events critical events are captured per lid in table 67, spi-3 to spi-4 critical lid interrupt indication registers (block_base 0x0c00 + register_offset 0x16- 0x17) and table 69, spi-4 to spi-3 critical lid interrupt indication registers (0x1a-0x1b). an interrupt is generated if enabled by the corresponding enable flag in the table 68, spi-3 to spi-4 critical lid interrupt enable registers (0x18- 0x19) and table 70, spi-4 to spi-3 critical lid interrupt enable registers (0x1c- 0x1d). the indication is cleared by writing a logical one to the table 67, spi- 3 to spi-4 critical lid interrupt indication registers (0x16-0x17) or table 69, spi- 4 to spi-3 critical lid interrupt indication registers (0x1a-0x1b). only one kind of critical event is defined, buffer overflow. since there are 64 x 2=128 critical lid associated event sources, two source indication bits are contained in table 71, critical events source indication register (0x1e). the bits are read only. bit spi34_ovr reflects the or result of all bits in table 67, spi-3 to spi-4 critical lid interrupt indication registers (0x16-0x17). bit spi43_ovr reflects the or result of all bits in table 69, spi-4 to spi-3 critical lid interrupt indication registers (0x1a-0x1b). 5.3.3 timebase a single timebase module is provided in the device. the timebase period can be configured to be internally or externally generated. a snapshot of the counters is taken when the timebase expires and the counters are cleared. the snapshot registers are accessed by an indirect access scheme. 5.3.3.1 internally generated timebase the period of the timebase is configured for the device using the register defined in table 120, timebase register (register_offset 0x01). the configu- ration specifies the number of master clock (mclk) cycles required for each period. for a description of mclk refer to chapter 6 clock generator. the timebase event is captured by the timebase status in table 45, secondary interrupt status register (0x2d in the direct accessed space). the internal timebase is generated either by the microprocessor or by a free running timer input. the selection is made by the timer flag in the table 119, pmon update control register (register_offset 0x00). when the time interval expires, the timebase pin is asserted for sixteen mclk cycles. 5.3.3.2 externally generated timebase the externally generated timebase signal is applied on the timebase pin. a positive edge detector generates the timebase event. the timebase event is captured by the timebase status in the table 45 - secondary interrupt status register (0x2d in the direct accessed space).
39 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 6. clock generator the device generates clocks from the spi-4 ingress clock (i_dclk) or from the ref_clk input pin. the clock so selected is used for core functions of the device, and must be present during reset and thereafter. the selection and frequency divisors are defined by ck_sel[3:0] pins as defined in the following table 14, ck_sel[3:0] input pin encoding. the clock generator provides four clock outputs on the oclk[3:0] pins, mclk for internal use, and spi-4 data and fifo status channel egress clocks. the oclk[3:0] clock frequencies can be selected independently of each other. oclk[3:0] outputs always have a relative output skew of one pll_oclk (refer to figure 30 clock generator) to prevent simultaneous switching when used as spi-3 clock sources. use of the oclk[3:0] outputs is encouraged for the spi- 3 clock inputs to reduce system jitter. the frequency is divided according to the value selected in the clock generator control register shown below. the oclk[3:0] pins are separately enabled by setting each associated enable flag in table 121, clock generator control register (register_offset 0x10). when an oclk[3:0] output is not enabled, it is in a logic low state. mclk is the internal processing clock, and is always enabled. divide options should be selected to keep the internal pll output pll_oclk within its operating frequency range of 400 to 800 mhz. refer to table 122, oclk and mclk frequency select encoding for selecting the frequencies of mclk and oclks. note that divider values should be chosen so that oclk[3:0] and mclk are within their specified operating range provided in table 136, oclk[3:0] clock outputs and mclk internal clock . during either a hardware or a software reset, the oclk[3:0] pins are all logic low. immediately following reset, all oclk[3:0] outputs are active with the output frequency defined by pll_oclk divided by the initial value in the table 121, clock generator control register (register_offset 0x10). x 32 pll (400-800 mhz) mux i_dclk 4/8/16 e_dclk ref_clk 2/4/6/8 4 oclk0 oclk1 oclk2 oclk3 mclk pll_oclk ck_sel[1:0] ck_sel[3:2] pll_rclk i_sclk_t i_sclk_l (80-400 mhz) (80-400 mhz) (12.5-25 mhz) ( 40 -133 mhz) n_oclk0 4/6/8/10 n_oclk1 4/6/8/10 n_oclk2 4/6/8/10 n_oclk3 4/6/8/10 n_mclk 4/6/8/10 6370 drw21 (12.5-25 mhz) ck_sel[1:0] function 00 pll_rclk = ref_clk 01 pll_rclk = i_dclk/16 10 pll_rclk = i_dclk /8 11 pll_rclk = i_dclk /4 ck_sel[3:2] function 00 e_dclk = pll_oclk/2 01 e_dclk = pll_oclk/4 10 e_dclk = pll_oclk/6 11 e_dclk = pll_oclk/8 table 14 ? ck_sel[3:0] input pin encoding figure 30. clock generator
40 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 7. loopbacks local loopbacks are supported on each of the spi-3 physical ports. they are described below. 7.1 spi-3 loopback a spi-3 physical port loop back is supported on each of the spi-3 interfaces. in this mode, the contents of the spi-3 ingress buffers are directly transferred to the spi-3 egress buffers. all data and error information received on an ingress interface of a spi-3 physical port is transmitted on the egress interface of the same spi-3 physical port. figure 31. spi-3 loopback diagram ? ? jtag uproc lid counters memory 2 x spi-3 8 bit / 32 bit min: 19.44mhz max: 133mhz interface block chip counters memory interface block spi-3 / lid map main memory a spi-4.2 min: 80 mhz max:400 mhz spi-4 / lid map 6370 drw23
41 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 8. operation guide 8.1 hardware operation 8.1.1 system reset there are two methods for resetting the device: hardware reset & software reset. during reset the output clocks are not toggled. hardware reset the resetb input requires an active low pulse to reset the internal logic. software reset the software reset is triggered by setting to 1 the sw_reset field in direct register software reset register (p.51). the response to a software reset is identical to a hardware rest except that software reset does not change the n_oclk[3:0] fields in the clock generator control register (p.77), so it does not impact the clock generators. the sw_reset field is self-clear to 0 after the device initialized itself. after software reset the external microprocessor should have delay of at least 1ms before accessing the device, and then. after the 1ms delay, the user should poll the init_done field in the software reset register (p.51), and wait till it is 1. when the init_done field is 1, the user should download a boot code from the external microprocessor flash to the device embedded processor ram. 8.1.2 power on sequence a correct power-on-reset sequence is crucial for the normal behavior of the device. the power-on-reset sequence includes the following signals: clk (ref_clk or i_dclk - depends on which of theses pins are selected), vddt33, vddc12 and resetb. figure 32, power-on-reset sequence illustrates the recommended implementation for the power-on-reset sequence for the device. idt recommends powering up the vdd33 power supply first, and the vddc18 power supply last. the power supplies can be also powered up in the same time. there is no requirement for the minimum or maximum delay between the power-up of the power supplies. the power supplies should be powered off in the revers order. the power ramp should not be fast than 100us, but also not too slow. when the power supplies are powered up, the resetb signal should be at low level. during power-on-reset, after the vddt33, vddc18, clk (ref_clk or i_dclk - depends on which of theses pins are selected) and the configuration signals are stable, the resetb signal should remain at a low level at least 10ms (symbol ?t1?) to reset the internal logic. after the resetb pulse ends, the device starts generating the spi-4 / spi-3 external output clocks & the mclk internal clock. after the resetb pulse ends, a delay of 1ms should be added (symbols ?t2?) before accessing the device for initialization and configuration. this allows the internal logic to be stable. during t2 (at least 1ms delay) the device performs internal memories initialization. after t2, the user should poll the init_done field in the in the software reset register (p.51), and wait till it is 1. when the init_done field is 1, the user should download a boot code from the external microprocessor flash to the device embedded processor ram. t1 clk vddt33 resetb t2 vddc18 6370 drw23a 8.1.3 clock domains the chip has several clock domains. the related registers can not be configured without each clock. it is necessary to supply the clocks that are pertinent to the registers being initialized for the initialization to succeed. in order to access the microprocessor interface, mclk must be active, either by selecting and providing a stable ref_clk input, or by selecting and ensuring that a stable clock is always present on the i_dclk input. the selection of either the ref_clk or the i_dclk clock inputs is described in table 14 ck_sel[3:0] input pin decoding. 8.2 software operation 8.2.1 chip configuration sequence for proper device operation, it is important to initialize the IDT88P8344 in the correct sequence following reset. this sequence is outlined in the following paragraphs. 1) reset the IDT88P8344 chip. after reset, the chip will perform auto initialization. wait for the chip initialization to complete. the init_done flag will go high when initialization has been completed. figure 32. power-on-reset sequence
42 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 2) configure the clock generator as follows: a) configure the value for the mclk divider, oclk dividers and enables in the clock generator control register (refer to table 121, clock generator control register (register_offset 0x10)). b) configure the values for i_low and e_low (refer to table 89, spi- 4 ingress configuration register (0x00) and table 104, spi-4 egress configuration register_0 (register_offset 0x00). 3) load status channel firmware. see section 8.2.5 for details. 4) configure all pfps as follows: a) the nr_lid fields must be configured first. do not change the nr_lid fields once configured after reset. the nr_lid fields are in the table 76, spi-3 to spi-4 pfp register (register_offset 0x00) and the table 83, spi-4 to spi-3 pfp register (0x00). b) there are four sets of port descriptor tables: the table 73, spi-4 egress port descriptor table (64 entries), the table 75, spi-3 ingress port descriptor table (block_base 0x1200), the table 80, spi-3 egress port descriptor table (64 entries), and the table 82, spi-4 ingress port descriptor tables (64 entries). configure the m (spi-4 egress), max_burst_s, max_burst_h, direction (spi-4 egress), free_segment, max_burst, direction (spi-3 egress), m (spi-4 ingress), free_segment_s, and free_segment_h parameters of the port descriptor tables for each lid to be activated. the total buffer segment assignment should not exceed the available buffer segment pool capacity of 508 segments per pfp. 5) configure the table 54- spi-3 egress lid to lp map. 6) configure the table 49 - spi-3 ingress lp to lid map. 7) the spi-4 calendar tables must be configured before the spi-4 mapping tables are configured. do not change the spi-4 calendar tables once they are configured. in lvds status mode, ensure that the value of (cal_len+1) * (m+1) is at least 4. a) configure the spi-4 ingress calendar or calendars (refer to table 87, spi-4 ingress calendar_0 (256 entries) and table 88, spi-4 ingress calendar_1 (256 entries)). b) configure the spi-4 egress calendar or calendars (refer to table 102, spi-4 egress calendar_0 (256 locations) and table 103, spi-4 egress calendar_1 (256 locations)). 8) configure the table 101, spi-4 egress lid to lp map (256 entries). 9) configure the table 86, spi-4 ingress lp to lid (256 entries, one per lp). 10) configure the spi-4 physical interface. the table 89, spi-4 ingress configuration register (0x00), table 104, spi-4 egress configuration register_0 (register_offset 0x00), and table 105, spi-4 egress configuration register_1 (register_offset 0x01) must be configured before enabling the spi-4 physical interface. once the spi-4 interface is enabled, the spi-4 interface configuration registers can not be changed unless the chip is reset. individual lids can still be enabled or disabled, within the bounds set by nr_lid. 11) configure the spi-3 physical interfaces. the table 75, spi-3 ingress port descriptor table (block_base 0x1200) must be configured before enabling the spi-3 physical interfaces. once the spi-3 interfaces are enabled, table 80, spi-3 egress port descriptor table (64 entries) can not be changed unless the chip is reset. individual lids can still be enabled or disabled without a chip reset, within the bounds set by nr_lid. 12) enable the spi-3 physical interfaces. set the enable bit per lid in table 46, spi-3 ingress lp to lid map and table 54, spi-3 egress lid to lp map. 13) enable the spi-4 physical interface. set the enable bit per lid in table 82, spi-4 ingress lp to lid map (256 entries, one per lp) and table 101, spi- 4 egress lid to lp map (256 entries). note: sufficient edge transitions on the bus are required to cause a change in the tap value. therefore, the adjacent device should send training for at least 100ms in the end of the initialization sequence & before starting to send data. the bit alignment will select the best tap for each lane. 8.2.2 logical port activation and deactivation dynamically deactivate a logical port the procedure for deactivating a logical port is outlined as follows: 1) configure the enable bit of the ingress lp to lid map to ?disabled?. 2) configure the egress data direction field in table 73, spi-4 egress port descriptor table (64 entries) or table 80, spi-3 egress port descriptor table (64 entries) to ?discard?. 3) wait at least 0.1ms for the flush of the remaining data in the queue. 4) change m to 0 for the lp. dynamically activate a logical port the procedure for activating a logical port is outlined as follows: 1) make sure the lid is inactive. 2) configure m for the desired lid. 3) configure the egress lid to lp map, then enable the lid. 4) configure the egress data direction for the lid. 5) configure the ingress lp to lid map, then enable the lp. 8.2.3 buffer segment modification modification of the buffer segment allocation for a lid the buffer segment allocation can be changed while the corresponding lp is disabled. the amount of buffering available for a lid can be decreased or it can be increased if more buffer segments are available for use. the procedure for changing the buffer segment allocation for a lid is outlined as follows: 1) disable the lp corresponding to the lid to undergo buffer segment modification. 2) discard the fragments, by configuring the direction field for discard for the lid. 3) wait at least 0.1ms for the buffer to empty. 4) change m to 0 for the lid. 5) configure the new m value for the lid. 6) configure the direction field for the lid to restore data flow. 7) enable the lp corresponding to the lid that underwent buffer segment modification. 8.2.4 manual spi-4 ingress lvds bit alignment the procedure for manually adjusting the spi-4 ingress lvds bit alignment is outlined. it is recommended to use automatic alignment in most cases. 1) configure the force bit from table 99, spi-4 ingress bit alignment control register (register_offset 0x11). this puts the spi-4 ingress under manual control. 2) configure the spi-4 ingress data lane to be measured for clock-data alignment in table 111, spi-4 ingress lane measure register (register_offset 0x01), lane field. 3) wait for the eye measurement to complete in table 111, spi-4 ingress lane measure register (register_offset 0x01), measure_busy field. 4) read the eye pattern counter in table 112, spi-4 ingress bit alignment counter register (0x02 to 0x0b). 5) calculate the proper value. 6) configure the appropriate phase tap in table 113, spi-4 ingress manual alignment phase/result register (0x0c to 0x1f).
43 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 8.2.5 spi-4 status channel software the spi-4 status channel may be configured to either lvttl or lvds by loading the appropriate status channel binary file to activate the firmware. download lvttl.bin when using lvttl status mode. download lvds.bin when using lvds status mode. this step should be performed as the third step in the chip configuration sequence after reset in section 8.2.1. the download process is described. direct write (0x20, 0x01); /* write register 0x20 with 0x01 to reset */ delay at least 5ms direct write (0x36, 0x07); ind_write(0x00c8, 0xdcb0); open lvttl.bin or lvds.bin file number = file length addr = 0x0e00; if ( number % 2 == 0 ) number /=2; else number = number/2 + 1; for ( i = 0; i < number; i ++ ) { scr_fp.read(ch, 2); data = (ch[1] << 8) | ch[0]; ind_write(addr, data); addr ++; addr ++; } close file ind_write(0x00c6, 0x0e00); ind_write(0x00c8, 0xc860); direct write (0x36, 0x00); 8.2.6 IDT88P8344 layout guidelines spi-3 layout guidelines 1) series terminate spi-3 traces that are greater than 1/2 inch in end-to- end length. place the series resistor as close as possible to the driver, but no more than 1/2 inch away from the driving end. spi-3 inputs must have ringing controlled to prevent the spi-3 inputs from going more than 0.5 volts below ground. use the ibis models for more accurate results with the specific devices being used. 2) minimize all spi-3 data and control trace lengths to not exceed the t d-max - t setup requirement. for example, if the spi-3 clock is 104 mhz, t d- max of a device is 5.65 ns, and t setup of the attached device is 1 ns, the maximum pcb trace delay table 18 permitted is 3 ns (unit interval - t d-max - t setup ). this translates to a maximum pcb trace length for data and control lanes of 13.5 inches, if the loaded pcb trace delay is 220 picoseconds per inch. this is for zero t setup margin, and does not include any margin for clock driver skew. clock driver or clock trace skew could reduce the t setup margin in this example. 3) match all spi-3 clock lengths to within the t d-min - t hold requirement. for example, if t d-min for the device is 1.5 ns, and t hold for the attached device is 0.5 ns, the worst case pcb clock trace skew for zero t hold margin (defined in this example as the maximum pcb trace delay that the spi-3 ingress clock of the attached device can exceed the trace delay of the spi-3 egress clock of the device and still meet the t hold requirement of the attached device with zero margin, assuming the fastest device [t d-min ] and the worst case t hold for the attached device and no trace delay on the data and control lanes) is 1.7 ns (table 15 (t d-min - t hold )), for a maximum pcb clock trace difference of 7.6 inches. trace delay on the data and control lanes would improve the t hold margin in this example. this example does not include any margin for spi-3 clock buffer skew. 4) ensure a few nanoseconds of clock delay between one spi-3 clock net and other spi-3 clock nets of the same frequency to minimize simultaneous switching noise. the IDT88P8344 oclk[3:0] outputs have skew between each output already built in, and so are useful in lowering simultaneous switching noise. a spi-3 clock net is defined to be the spi-3 egress clock for a device and the spi-3 ingress clock for the attached device. 5) route all spi-3 traces as 50 ohm embedded stripline (inner layer referencing ground planes). for example, 8 mil wide 1/2 oz copper traces sandwiched between ground planes with 10 mil dielectric spacing between ground planes and signal planes yields 52 ohms single-ended, using fr-4 with a relative dielectric constant ( r or d k ) of 4.2. if the edge to edge spacing between adjacent spi-3 series terminated signals is 20 mils in this example, crosstalk between adjacent signals can be kept to 2%. use a field solver for more accurate results. an example timing budget table 15, zero margin spi-3 timing budget, and example trace lengths to achieve timing margin table 16, margin check for spi- 3 timing, are shown. these timing budget tables do not include clock driver relative skew incurred if different drivers are used for a spi-3 egress and its attached sp-3 ingress. these tables are based on timing only and do not include such effects as crosstalk and rise time degradation. spi-4 layout guidelines 1) match the p and n trace lengths within an lvds differential signal pair to within 100 mils or less. 2) match the group of all differential data, control, and clock signal lengths to within 1/2 unit interval (ddr), or less, of each other (1/4 clock period). for spi-3clock tsetup thold td, minimum td, maximum unit interval maximum data maximum data maximum maximum clock trace delay trace length clock skew ? trace length 104 mhz 1 ns 0.65 ns 2.33 ns 5.65 ns 9.6 ns 3 ns 13.5 in 1.7 ns 7.6 in table 15 - zero margin spi-3 timing budget spi-3clock tsetup thold td, minimum td, maximum egress ingress longest shortest tsetup thold clock trace clock trace data trace data trace margin margin 104 mhz 1 ns 0.65 ns 2.33 ns 5.65 ns 4 inches 8 inches 6 inches 4 inches 2.33 ns 1.48 ns table 16 - margin check for spi-3 timing
44 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 example, a spi-4 clock of 400 mhz gives a data unit interval of 1.25 ns, so match the lengths within the entire signal group to within 625 ps, or 3 inches. 3) keep p and n signals within a differential pair on the same layer with the minimum trace spacing possible while still being able to get 100 ohms differential impedance (tightly edge-coupled pair routing). 4) route all differential pairs as 100 ohm embedded differential stripline (on an inner layer, referencing ground planes). for example, 7 mil wide 1/2 oz copper traces separated by 10 mils, with 10 mil dielectric spacing to ground planes above and below the traces gives 100 ohms of differential impedance for fr-4 with a relative dielectric constant ( r or d k ) of 4.2. if the edge to edge spacing between adjacent differential pair traces is 20 mils, crosstalk is 0.6% for signals terminated to within a 10% impedance match. if the edge to edge spacing between a differential pair and an lvttl signal is 30 mils within the parameters of this example, crosstalk is 0.8% (with the lvttl signals series terminated). use a field solver for more accurate results. 5) follow the spi-3 layout guidelines for any routed spi-4 lvttl status signals. general layout guidelines 1) keep lvds signals far from lvttl signals: at least three times the dielectric thickness to the reference plane (or three times the trace separation, whichever is greater) in separation width, to minimize the crosstalk contribution of noise on the lvds signals from the noisy lvttl environment. 2) separate signals of the same type by at least twice the dielectric thickness (or twice the trace separation, whichever is greater) to the reference plane to reduce crosstalk. 3) the reference planes must extend at least five times the dielectric thickness from either side of the trace and be unbroken. 4) avoid changing layers on high-speed signals. on a layer change, signals should share the same reference (such as ground), connected by reference vias close to the signal vias for good current return. if a different reference plane (such as vcc) must be used due to a signal layer change, good high-frequency 0.01 f ceramic capacitors must be used to connect the references together as close to the signal vias as possible to ensure good transmission line properties and current return. 5) use of a low-jitter (100 picoseconds peak-peak maximum jitter) frequency source for ref_clk is important. if i_dclk is used instead of ref_clk, ensure that i_dclk is low in jitter and always available. 6) keep the power decoupling capacitors as close as possible to the power pins, using at least 15 mil traces and double vias for reduced inductance where possible. 7) distribute some large-valued capacitors around the board for low- frequency decoupling and to lower the power-supply impedance. 8) trstb (jtag reset) must have a pull down resistor or be connected to resetb for normal operation. 9) filter the 1.8 volt and 3.3 volt analog power pins to isolate them from the noisy digital environment. use ferrite beads and capacitors (pi filters) for vdda18_x and vdda33. 10) suppress non-functional inner layer pads. 8.2.7 software eye-opening check on spi-4 interface since the spi-4 interface is a ddr interface, both rising and falling edges are used to update or sink data. d n d n+1 0123456789abc c 0 c 5 c 9 clock data over sample position counter c 1 c 6 c 4 c 2 c 7 c 3 c 8 6370 drw23b figure 33. ddr interface and eye opening check through over sampling refer to the IDT88P8344 uses an internal sampling clock cycle which has a frequency of 10 times spi-4 clock to over-sample the data on a lane. for each sampling clock cycle t position n data are sampled and labeled as r t .d n . the following operation is then performed: cnt 0 = r t .d 2 ^ r t .d 3 cnt 1 = r t .d 3 ^ r t .d 4 cnt 2 = r t .d 4 ^ r t .d 5 cnt 3 = r t .d 5 ^ r t .d 6 cnt 4 = r t .d 6 ^ r t .d 7 cnt 5 = r t .d 7 ^ r t .d 8 cnt 6 = r t .d 8 ^ r t .d 9 cnt 7 = r t .d 9 ^ r t+1 .d 0 cnt 9 = r t+1 .d 0 ^ r t+1 .d 1
45 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 for an ideal case, there is zero jitter on clock an data, zero skew, the clock high and low level phase are symmetrical. for random input data on each lane, the counters cn=cntn(t)+cntn(t+1)+. . .+cntn(t+t), where t is a time window to do the statistics computation, will increment as follows: counter c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 value 0 0 p 0 0 0 0 k 0 0 where p and k are non-zero and need to be a large enough value mark the transition position of a clock and define the position. software for implementing the eye-opening check in the IDT88P8344, a set of diagnostic registers are provided for implement- ing an eye-opening check. the spi-4 interface has 16 data lanes and one control lane on ingress, 2 status lanes on egress, making a total of 19 lanes. the spi-4 ingress bit alignment window register defines the window t stated above, based on which the signal statistics are computed. it is recommended to use the default value. the measure_busy bit indicates the status of the internal measurement operation. the spi-4 ingress lane measure register selects the lane statistics counters to be read, a write to this register triggers the eye-opening check process to the selected lanes and the measure_busy bit will be set accordingly indicating the measuring process is active. the measure_busy bit is cleared internally which indicates that the measuring process is complete. the measured result of counters c 0 through c 9 will be available in the spi-4 ingress bit alignment counter registers. note that there is one spi-4 ingress lane measure register and 19 spi-4 ingress bit alignment counter registers. the following pseudo code shows how to check the eye opening: because the spi-4 ingress bit alighnment counter register has a 10-bit width, the maximum counter value is 0x3ff. if the counter values of a lane are: 0, 0, 0x3ff, 0, 0, 0, 0, 0x3ff, 0, 0 the eye open is perfect; there is very good signal integrity on input signals of the spi-4 interface. in each sample position represents a ?tap?. depending on the delay in a lane, even a small jitter value of 1ps on the lane or the clock, may cause eye closing that can be detected by observing the counter values. in an ideal case with zero delay, if the jitter on a data lane or clock is less than one tap interval (peak to peak), the jitter will not be reflected in counters. while the eye open check can indicate excessive jitter there are limitations in providing a accurate measure- ment using this method. theoretically as long as one tap accumulates enough non-zero samples for each 2 bits within a clock cycle the sampled signal position will be correct and the interface will function correctly. the more counters that have zero values, the better the eye opening. #define spi-4_ingress_lane_measure_register 0x8801 /* register address in spi exchange device* / #define spi-4_ingress_bit_alignment_counter_register(0) 0x8802 #define spi-4_ingress_bit_alignment_counter_register(1) 0x8803 #define spi-4_ingress_bit_alignment_counter_register(2) 0x8804 #define spi-4_ingress_bit_alignment_counter_register(3) 0x8805 #define spi-4_ingress_bit_alignment_counter_register(4) 0x8806 #define spi-4_ingress_bit_alignment_counter_register(5) 0x8807 #define spi-4_ingress_bit_alignment_counter_register(6) 0x8808 #define spi-4_ingress_bit_alignment_counter_register(7) 0x8809 #define spi-4_ingress_bit_alignment_counter_register(8) 0x880a #define spi-4_ingress_bit_alignment_counter_register(9) 0x880b for lane=0 to k step 1 /*the number k depend on status mode: k=18 in lvds status mode*/ { /* k=16otherw ise */ write #lane, spi-4_ingress_lane_measure_ register wait until busy=0 /* busy: bit 8 of spi-4_ingress_lane_measure_register, at address 0x8801*/ for i=0 to 9 step 1 { read c(i), spi-4_ingress_bit_alignment_counter_register(i) } print c(0), c(1), c(2), c(3), c(4), c(5), c(6), c(7), c(8), c(9) }
46 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 indirect data indirect data indirect data indirect data (register 0x33) (register 0x32) (register 0x31) (register 0x30) bit 31?bit 25 bit 24?bit 16 bit 15?bit 8 bit 7?bit 0 table 18 - bit order within a 32-bit data register bit 31 is the most significant data bit. indirect data (register 0x30) bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 2 bit 0 table 19 - bit order within an 8-bit data register bit 7 is the most significant data bit. 9. register description there are two distinctly different types of register access in the IDT88P8344. direct access registers are used for interrupts and other high-priority registers and for access to the indirect access registers. direct access registers can be accessed more quickly than indirect access registers, and are used where this access speed advantage is required. there are only a limited number of direct access registers due to the six address lines used on the IDT88P8344. all direct access registers are one byte wide. most registers within the IDT88P8344 are of the indirect access type. indirect access registers are used for configuration, maps, etc., that may not need to be accessed as often as the direct registers. indirect registers are accessed through special direct access registers designed for the purpose of allowing indirect access to the large set of registers and maps that are needed to configure the IDT88P8344. 9.1 register access summary the spi exchange device uses an indirect addressing scheme for most of the configuration registers. the indirect registers are accessed through a protocol where interface pins a[5:0], d[7:0], and control pins are mapped into internal register space a[15:0], d[31:0], and control[7:0]. the full address of any indirectly addressed register = module_base + block_base + register_offset. direct register format bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 2 bit 0 table 17 - bit order within an 8-bit data register bit 7 is the most significant data bit. figure 34. direct & indirect access indirect accessed space c[7:0] 8 6 16 32 6370 drw24 direct accessed space processor interface d[7:0] a[5:0] c[7:0] d[31:0] a[15:0] 9.1.1 direct register format all direct register accesses are one byte. the bit ordering for the direct access registers is shown. 9.1.2 indirect register format the internal format for 32 and 8 bit registers is shown below. the registers are accessed from the external processor interface as successive bytes of indirect data. the indirect register space includes 32-bit data registers and 8- bit data registers. the directly-addressed register space includes directly- addressable 8-bit data registers, four 8-bit data registers for indirect data access, two 8-bit address registers for indirect data access, and an 8-bit control register for indirect data access.
47 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 indirect high address (register 0x35) indirect low address (register 0x34) bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 2 bit 0 table 20 - bit order within a 16-bit address register bit 15 is the most significant data bit. indirect control (register 0x3f) bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 2 bit 0 table 21 - bit order within an 8-bit control register bit 7 is the most significant data bit. module base address (module_base) there are five modules defined for indirect data access. module module_base module a (spi3-a, pfp-a, pmon-a) 0x0000 module b (spi3-b, pfp-b, pmon-b) 0x2000 module c (spi3-c, pfp-c, pmon-c) 0x4000 module d (spi3-d, pfp-d, pmon-d) 0x6000 common (spi-4, timing, pmon, clock, gpio, and version number) 0x8000 table 22 - module base address (module_base) block base there are block bases defined for spi-3 modules and also for common, as shown in the following tables. block_base function 0x0000 spi-3 ingress lp to lid registers 0x0200 spi-3 ingress general configuration register 0x0500 spi-3 egress lid to lp registers 0x0700 spi-3 egress configuration registers 0x0a00 lid associated event counters 0x0c00 non lid associated event counters 0x1000 spi-3 ingress packet length configuration register 0x1100 spi-4 egress port descriptor table 0x1200 spi-3 ingress port descriptor tables 0x1300 spi-3 to spi-4 pfp and flow control registers 0x1600 spi-4 ingress control registers 0x1700 spi-3 egress port descriptor table 0x1800 spi-4 ingress port descriptor table 0x1900 spi-4 to spi-3 pfp register table 23 - indirect access block bases for module a, module b, module c, and module d
48 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 block_base function 0x0000 spi-4 ingress lp to lid tables 0x0100 spi-4 ingress calendar_0 0x0200 spi-4 ingress calendar_1 0x0300 spi-4 ingress registers 0x0400 spi-4 egress lid to lp map 0x0500 spi-4 egress calendar_0 0x0600 spi-4 egress calendar_1 0x0700 spi-4 egress configuration and status registers 0x0800 spi-4 ingress timing block registers 0x0900 pmon timebase control, clock generator control, gpio register, and version number table 24 - indirect access block bases for common module register offset the register offset is shown in the section where the register is defined. the register offset is referred to as, ?register_offset?, in this document. a register reference takes the form of, ?[register_offset 0xhh]?, where hh is the hexadecimal value of the register offset. indirect register access indirect register write access an indirect write access is initiated by first checking for ind_busy=0 in the indirect access control register, and then writing data into the indirect access data registers. next, the address is written into the indirect access address registers. then, 0x00 is written into the indirect access control register. the status of the ind_busy flag in the indirect access control register is checked to ensure the process has completed before another indirect access can be initiated. indirect register read access an indirect read access is initiated by first checking for ind_busy=0 in the indirect access control register, and then writing the address into the indirect access address registers. then, 0x40 is written into the indirect access control register. the status of the ind_busy flag in the indirect access control register is checked to ensure the process has completed, and then data is read out from the indirect access data registers. the registers for controlling indirect register access are shown below. the registers for controlling indirect register access are directly accessible with read and write access. table 25 - indirect access data registers (direct accessed space) at 0x30 to 0x33 field bits length function data[7:0] 7:0 8 indirect data register 0x30 data[15:8] 15:8 8 indirect data register 0x31 data[23:16] 23:16 8 indirect data register 0x32 data[31:24] 31:24 8 indirect data register 0x33 table 26 - indirect access address register (direct accessed space) at 0x34 to 0x35 field bits length function address[7:0] 7:0 8 indirect low address register 0x34 address[15:8] 15:8 8 indirect high address register 0x35 table 27 - indirect access control register (direct accessed space) at 0x3f field bits length error code 5:0 6 r/wn 6 1 ind_busy 7 1 the fields for this register are defined below.
49 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 error code error code: see error coding table. this error code pertains to the last indirect access attempted. error code error meaning 0x00 normal indirect access completion 0x01 multiple lp to same lid attempted assignment 0x02 multiple lid to same lp attempted assignment 0x03 buffer segment overflow 0x04 not enough queue entries 0x05 attempt to modify while active 0x06 address out of bound 0x07 calibration before the chip has finished reset 0x08 lp limited 0x09 undefined direction 0x3e undefined address 0x3f time out table 28 - error coding table r/wn this bit defines the read or write access to the indirect register. 0=write 1=read ind_busy this bit is an indication of the ability of the indirect register access to accept a new transaction, and of the completion of the current transaction. 0=ready for read or write operation 1=busy indication. wait before beginning a read or write operation
50 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 module a-d direct registers module a module b module c module d spi-3 data capture control register 0x00 0x08 0x10 0x18 spi-3 data capture register 0x01 0x09 0x11 0x19 spi-4 data insert control register 0x02 0x0a 0x12 0x1a spi-4 data insert register 0x03 0x0b 0x13 0x1b spi-4 data capture control register 0x04 0x0c 0x14 0x1c spi-3 data insert control register 0x05 0x0d 0x15 0x1d spi-4 data capture register 0x06 0x0e 0x16 0x1e spi-3 data insert register 0x07 0x0f 0x17 0x1f module status register 0x24 0x25 0x26 0x27 module enable register 0x28 0x29 0x2a 0x2b other direct registers address software reset 0x20 spi-4 status register 0x22 spi-4 enable register 0x23 primary interrupt status register 0x2c secondary interrupt status register 0x2d primary interrupt enable register 0x2e secondary interrupt enable register 0x2f indirect access data[7:0] 0x30 indirect access data[15:8] 0x31 indirect access data[23:16] 0x32 indirect access data[31:24] 0x33 indirect access address[7:0] 0x34 indirect access address[15:8] 0x35 indirect access control[7:0] 0x3f table 29 - direct mapped module a, module b, module c, and module d registers table 30 - direct mapped other registers 9.2 direct access registers the direct access registers are in the directly-addressed access space. direct access registers are more quickly accessed, and serve the needs of interrupts and the indirect register access. table 31 - spi-3 data capture control register (registers 0x00, 0x08, 0x10, 0x18) field bits length initial value data_available 0 1 0b0 reserved 7:1 7 0x00 table 32 - spi-3 data capture register (registers 0x01, 0x09, 0x11, 0x19) field bits length initial value data 7:0 8 0x00 spi-3 data capture control register the spi-3 data capture control register has read and write access in the direct register access space. write a zero to data_available to clear the transfer. the microprocessor uses these registers to capture data from a spi-3 ingress. the spi-3 data capture control register for spi-3 port a is register 0x00. the spi-3 data capture control register for spi-3 port b is register 0x08. the spi-3 data capture control register for spi-3 port c is register 0x10. the spi-3 data capture control register for spi-3 port d is register 0x18. the bit field of the spi-3 data capture control register is described. data_available the spi-3 capture data buffer is full and ready for reading. spi-3 data capture register the spi-3 data capture register has read-only access in the direct register access space. the microprocessor uses these registers to capture data from a spi-3 ingress. the spi-3 data capture register for spi-3 port a is register 0x01. the spi-3 data capture register for spi-3 port b is register 0x09. the spi-3 data capture register for spi-3 port c is register 0x11. the spi-3 data capture register for spi-3 port d is register 0x19. the bit field of the spi-3 data capture register is described. data the spi-3 capture data buffer is read from this field.
51 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 33 - spi-4 data insert control register (registers 0x02, 0x0a, 0x12, 0x1a) field bits length initial value data_available 0 1 0b0 reserved 7:1 7 0x00 table 34 - spi-4 data insert register (regis- ters 0x03, 0x0b, 0x13, 0x1b) field bits length initial value data 7:0 8 0x00 spi-4 data insert control register the spi-4 data insert control register has read and write access in the direct register access space. the microprocessor uses these registers to insert data into a spi-3 ingress. the spi-4 data insert control register for spi-3 port a is register 0x02. the spi-4 data insert control register for spi-3 port b is register 0x0a. the spi-4 data insert control register for spi-3 port c is register 0x12. the spi-4 data insert control register for spi-3 port d is register 0x1a. the bit field of the spi-4 data insert control register is described. data_available the spi-4 insert data buffer is empty and ready for writing. spi-4 data insert register the spi-4 data insert register has write-only access in the direct register access space. the microprocessor uses these registers to insert data into a spi- 3 ingress. the spi-4 data insert register for spi-3 port a is register 0x03. the spi-4 data insert register for spi-3 port b is register 0x0b. the spi-4 data insert register for spi-3 port c is register 0x13. the spi-4 data insert register for spi-3 port d is register 0x1b. the bit field of the spi-4 data insert register is described. data the spi-4 insert data buffer is written to this field. spi-4 data capture control register table 37 - spi-4 data capture register (registers 0x06, 0x0e, 0x16, 0x1e) field bits length initial value data 7:0 8 0x00 table 38 - spi-3 data insert register (regis- ters 0x07, 0x0f, 0x17, 0x1f) field bits length initial value data 7:0 8 0x00 table 36 - spi-3 data insert control register (registers 0x05, 0x0d, 0x15, 0x1d) field bits length initial value data_available 0 1 0b0 reserved 7:1 7 0x00 table 35 - spi-4 data capture control register (registers 0x04, 0x0c, 0x14, 0x1c) field bits length initial value data_available 0 1 0b0 reserved 7:1 7 0x00 the spi-4 data capture control register has read and write access in the direct register access space. the microprocessor uses these registers to capture data from a spi-3 ingress. the spi-4 data capture control register for spi-3 port a is register 0x04. the spi-4 data capture control register for spi-3 port b is register 0x0c. the spi-4 data capture control register for spi-3 port c is register 0x14. the spi-4 data capture control register for spi-3 port d is register 0x1c. the bit field of the spi-4 data capture control register is described. data_available the spi-4 capture data buffer is full and ready for reading. spi-3 data insert control register the spi-3 data insert control register has read and write access in the direct register access space. the microprocessor uses these registers to insert data into a spi-4 ingress. the spi-3 data insert control register for spi-3 port a is register 0x05. the spi-3 data insert control register for spi-3 port b is register 0x0d. the spi-3 data insert control register for spi-3 port c is register 0x15. the spi-3 data insert control register for spi-3 port d is register 0x1d. the bit field of the spi-3 data insert control register is described. data_available the spi-3 insert data buffer is empty and available for writing. spi-4 data capture register the spi-4 data capture register has read-only access in the direct register access space. the microprocessor uses these registers to capture data from a spi-4 ingress. the spi-4 data capture register for spi-3 port a is register 0x06 the spi-4 data capture register for spi-3 port b is register 0x0e. the spi-4 data capture register for spi-3 port c is register 0x16. the spi-4 data capture register for spi-3 port d is register 0x1e. the bit field of the spi-4 data capture register is described. data the spi-4 capture data buffer is read from this field. spi-3 data insert register the spi-3 data insert register has write-only access in the direct register access space. the microprocessor uses these registers to insert data into a spi- 4 ingress. the spi-3 data insert register for spi-3 port a is register 0x07. the spi-3 data insert register for spi-3 port b is register 0x0f. the spi-3 data insert register for spi-3 port c is register 0x17. the spi-3 data insert register for spi-3 port d is register 0x1f. the bit field of the spi-3 data insert register is described. data the spi-3 insert data buffer is written from this field.
52 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 software reset the spi-4 status register (0x22 in the direct accessed space) has read access, and interrupt status fields are cleared by a microprocessor write cycle, where a logical one must be written to clear the field(s) targeted. the spi-4 status register is a secondary interrupt status register and can only be active if the spi-4 field is active in the primary interrupt status register (direct 0x2c). i_dip_err_i spi-4 ingress dip-4 error interrupt indication. 0=no errors 1=one or more dip-4 errors have been registered on the spi-4 ingress i_synch_i spi-4 ingress data path has transitioned from out of synchronization to in synchronization condition interrupt indication. 0=no detection, still not in synchronization 1=transition from out of synchronization to in synchronization, or transition from in synchronization to out of synchronization i_bus_err_i spi-4 ingress bus error interrupt indication. 0=no errors 1=one or more bus errors have been registered on the spi-4 ingress spi4_inactive_transfer_i spi-4 ingress inactive transfer inter- rupt indication. 0=no indication 1=one or more inactive transfers have been registered on the spi-4 ingress dclk_un_i spi-4 ingress data clock has transitioned from available to an unavailable condition interrupt indication. 0=no detection, i_dclk is available 1=i_dclk transitioned from available to an unavailable state e_dip_err_i spi-4 egress dip-2 error interrupt indication on the spi- 4 egress status channel. 0=no errors 1=one or more dip-2 errors have been registered e_synch_i spi-4 egress status channel has transitioned from out of synchronization to an in synchronization condition interrupt indication. 0=no detection, still not in synchronization 1=transition from out of synchronization to in synchronization, or transition from in synchronization to out of synchronization sclk_un_i spi-4 egress status clock has transitioned from available to an unavailable condition interrupt indication. in lvttl mode the bridgeport does not detect the spi-4 egress status clock (e_sclk_t). therefore, for lvttl mode the software should ignore the sclk_un field in the spi-4 status register. 0=no detection, e_sclk is available 1=e_sclk transitioned from available to an unavailable state spi-4 enable register (0x23 in the direct accessed space) the spi-4 enable register (0x23 in the direct accessed space) has read and write access. spi-4 enable register is used to bitwise enable the interrupts in the spi-4 status register. i_dip4_err_en spi-4 ingress dip-4 error interrupt indication enable. 0=disable dip-4 error interrupt 1=enable dip-4 error interrupt field bits length ini tial val i_dip4_err_en 0 1 0 i_synch_en 1 1 0 i_bus_err_en 2 1 0 spi4_inactive_transfer_en 3 1 0 dclk_un_en 4 1 0 e_dip_err_en 5 1 0 e_synch_en 6 1 0 sclk_un_en 7 1 0 table 41 - spi-4 enable register (0x23 in the direct accessed space) field bits length in itial val i_dip_err_i 0 1 0 i_synch_i 1 1 0 i_bus_err_i 2 1 0 spi4_inactive_transfer_i 3 1 0 dclk_un_i 4 1 0 e_dip_err_i 5 1 0 e_synch_i 6 1 0 sclk_un_i 7 1 0 table 40 - spi-4 status register (0x22 in the direct accessed space) table 39 - software reset register (0x20 in the direct accessed space) field bits length initial value sw_reset 0 1 0 init_done 1 1 0 reserved 7:2 6 0 the software reset bit is writable from the direct accessed memory space. write a ?1? to the sw_reset bit to initiate the software reset. the sw_reset bit will clear to a ?0? after the chip has initialized itself. the init_done bit is set to a ?1? when the initialization following reset has completed. the software reset is the same as the hardware. the reserved field must be set to 0. the initial value column in this document is the value of the register after reset has completed. sw_reset setting the sw_reset bit initiates a software reset of the chip. the sw_reset bit is self-clearing. 0=no operation is performed 1=initiate a software reset init_done status indication bit following a reset. 0=chip has not completed initialization following reset 1= chip has completed initialization following reset spi-4 status register (0x22 in the direct accessed space)
53 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 i_synch_en spi-4 ingress data path has transitioned from out of synchronization to in synchronization condition interrupt indication enable. 0=disable synchronization interrupt 1=enable synchronization interrupt i_bus_err_en spi-4 ingress bus error interrupt indication enable. 0=disable bus error interrupt 1=enable bus error interrupt spi4_inactive_transfer_en spi-4 ingress inactive transfer inter- rupt indication enable. 0=disable inactive transfer interrupt 1=enable inactive transfer interrupt dclk_un_en spi-4 ingress data clock has transitioned from available to an unavailable condition interrupt indication enable. 0=disable unavailable interrupt 1=enable unavailable interrupt e_dip_err_en spi-4 egress dip-2 error interrupt indication enable on the spi-4 egress status channel. 0=disable dip-2 error interrupt 1=enable dip-2 error interrupt e_synch_en spi-4 egress status channel has transitioned from out of synchronization to in synchronization condition interrupt indication enable. 0=disable synchronization interrupt 1=enable synchronization interrupt sclk_un_en spi-4 egress status clock has transitioned from available to an unavailable condition interrupt indication enable. sclk_un_en should be written as a zero if using a spi-4 egress lvttl status clock that is less than one-half of the mclk frequency. the sclk_un_i interrupt indication is not usable in this case. 0=disable unavailable interrupt 1=enable unavailable interrupt module status register (0x24 to 0x27 in the direct accessed space) field bits length initial value spi-34_capture 0 1 0 spi-43_capture 1 1 0 spi-34_insert 2 1 0 spi-43_insert 3 1 0 pmon 4 1 0 reserved 7:5 3 0 table 42 - module status register (0x24 to 0x27 in the direct accessed space) the module status registers (0x24 to 0x27 in the direct accessed space) have read and write access, and interrupt status fields are cleared by a microprocessor write cycle, where a logical one must be written to clear the field(s) targeted, except for the pmon field, which can not be cleared. the module status registers are secondary interrupt status registers and can only be active if the corresponding field is active in the primary interrupt status register (direct 0x2c): module status register 0x24 is for module a, and can only be active if the module_a field is active in the primary interrupt status register. module status register 0x25 is for module b, and can only be active if the module_b field is active in the primary interrupt status register. module status register 0x26 is for module c, and can only be active if the module_c field is active in the primary interrupt status register. module status register 0x27 is for module d, and can only be active if the module_d field is active in the primary interrupt status register. spi-34_capture spi-3 ingress to spi-4 egress capture event inter- rupt indication. 0=no capture event 1=buffer is ready for reading by the microprocessor spi-43_capture spi-4 ingress to spi-3 egress capture event interrupt indication. 0=no capture event 1=buffer is ready for reading by the microprocessor spi-34_insert spi-3 ingress to spi-4 egress insert event interrupt indication. 0=no insert event 1=buffer is ready for writing by the microprocessor spi-43_insert spi-4 ingress to spi-3 egress insert event interrupt indication. 0=no insert event 1=buffer is ready for writing by the microprocessor pmon performance monitor event interrupt indication. writing to this field has no effect. 0=no pmon event 1=pmon event is ready for reading by the microprocessor module enable register (0x28 to 0x2b in the direct accessed space) the module enable registers (0x28 to 0x2b in the direct accessed space) have read and write access. module enable register 0x28 is for module a. module enable register 0x29 is for module b. module enable register 0x2a is for module c. module enable register 0x2b is for module d. field bits length initial value spi-34 capture_en 0 1 0 spi-43 capture_en 1 1 0 spi-34 insert_en 2 1 0 spi-43 insert_en 3 1 0 pmon_en 4 1 0 reserved 7:5 3 0 table 43 - module enable register (0x28 to 0x2b in the direct accessed space)
54 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 the primary interrupt status register (0x2c in the direct accessed space) has read-only access. the interrupts for the primary interrupt status register must be acknowledged by servicing the corresponding secondary interrupt status registers. module_a when active, the module_a field is responsible for allowing an interrupt in the module status register (secondary interrupt register 0x24). 0=no module_a interrupt active 1=module_a interrupt is active module_b when active, the module_b field is responsible for allowing an interrupt in the module status register (secondary interrupt register 0x25). 0=no module_b interrupt active 1=module_b interrupt is active spi-34_capture_en spi-3 ingress to spi-4 egress capture event interrupt enable. 0=disable capture interrupt 1=enable capture interrupt spi-43_capture_en spi-4 ingress to spi-3 egress capture event interrupt enable. 0=disable capture interrupt 1=enable capture interrupt spi-34_insert_en spi-3 ingress to spi-4 egress insert event interrupt enable. 0=disable insert interrupt 1=enable insert interrupt spi-43_insert_en spi-4 ingress to spi-3 egress insert event interrupt enable. 0=disable insert interrupt 1=enable insert interrupt pmon_en performance monitor event interrupt enable. 0=disable pmon interrupt 1=enable pmon interrupt primary interrupt status register (0x2c in the direct accessed space) module_c when active, the module_c field is responsible for allowing an interrupt in the module status register (secondary interrupt register 0x26). 0=no module_c interrupt active 1=module_c interrupt is active module_d when active, the module_d field is responsible for allowing an interrupt in the module status register (secondary interrupt register 0x27). 0=no module_d interrupt active 1=module_d interrupt is active spi-4 when active, the spi-4 field is responsible for allowing an interrupt in the spi-4 status register (secondary interrupt register 0x22). 0=no spi-4 interrupt active 1=spi-4 interrupt is active secondary when active, the secondary field is responsible for allowing an interrupt in the secondary interrupt status register (secondary interrupt register 0x2d). 0=no secondary interrupt active 1=secondary interrupt is active secondary interrupt status register (0x2d in the direct accessed space) field bits length initial value module_a 0 1 0 module_b 1 1 0 module_c 2 1 0 module_d 3 1 0 spi-4 4 1 0 secondary 5 1 0 reserved 7:6 2 0 table 44 - primary interrupt status regis- ter (0x2c in the direct accessed space) field bits length initial value time_base 0 1 0 indirect_access 1 1 0 reserved 7:2 6 0 table 45 - secondary interrupt status register (0x2d in the direct accessed space) the secondary interrupt status register (0x2d in the direct accessed space) has read and write access. the secondary interrupt status register has read access, and interrupt status fields are cleared by a microprocessor write cycle, where a logical one must be written to clear the field(s) targeted. the secondary interrupt status register is a secondary interrupt status register and can only be active if the secondary_en field is active in the primary interrupt enable register (direct 0x2c). time_base time base expiration interrupt indication. 0=no time base event 1=time base has expired indirect_access indirect access completion interrupt indication. 0=no indirect access event 1=indirect access has completed
55 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 primary interrupt enable register (0x2e in the direct accessed space) field bits length initial value time_base_en 0 1 0 indirect_access_en 1 1 0 reserved 7:2 6 0 table 47 - secondary interrupt enable register (0x2f in the direct accessed space) spi-4_en spi-4 interrupt enable. 0=disable spi-4 interrupt 1=enable spi-4 interrupt secondary_en secondary interrupt enable. 0=disable secondary interrupt 1=enable secondary interrupt secondary interrupt enable register (0x2f in the direct accessed space) the secondary interrupt enable register (0x2f in the direct accessed space) has read and write access. the secondary interrupt enable register is used to bitwise enable the interrupts in the secondary interrupt enable register. time_base_en time base expiration interrupt enable. 0=disable time base event interrupt 1=enable time base event interrupt indirect_access_en indirect access completion interrupt enable. 0= disable indirect access completion event interrupt 1=enable indirect access completion event interrupt the primary interrupt enable register (0x2e in the direct accessed space) has read and write access. the primary interrupt enable register is used to bitwise enable the interrupts in the primary interrupt status register. module_a_en module_a interrupt enable. 0=disable module_a interrupt 1=enable module_a interrupt module_b_en module_b interrupt enable. 0=disable module_b interrupt 1=enable module_b interrupt module_c_en module_c interrupt enable. 0=disable module_c interrupt 1=enable module_c interrupt module_d_en module_d interrupt enable. 0=disable module_d interrupt 1=enable module_d interrupt field bits length initial value module_a_en 0 1 0 module_b_en 1 1 0 module_c_en 2 1 0 module_d_en 3 1 0 spi4_en 4 1 0 secondary_en 5 1 0 reserved 7:6 2 0 table 46 - primary interrupt enable regis- ter (0x2e in the direct accessed space)
56 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 9.3 indirect registers for spi-3a, spi-3b, spi- 3c, spi-3d modules module a is at module_base 0x0000 module b is at module_base 0x2000 module c is at module_base 0x4000 module d is at module_base 0x6000 table number, page block_base, register_offset title of register 49, page 57 0x0000, 0x00-0xff spi-3 ingress lp to lid map 50, page 57 0x0200, 0x00 spi-3 general configuration register 51, page 58 0x0200, 0x01 spi-3 ingress configuration register 52, page 58 0x0200, 0x02 spi-3 ingress fill level register 53, page 58 0x0200, 0x03 spi-3 ingress max fill level register 54, page 58 0x0500, 0x00-0x3f spi-3 egress lid to lp map 55, page 59 0x0700, 0x00 spi-3 egress configuration register 56, page 59 0x0700, 0x01 spi-4 ingress to spi-4 egress flow control register 57, page 59 0x0700, 0x02 spi-3 egress test register 58, page 60 0x0700, 0x03 spi-3 egress fill level register 59, page 60 0x0700, 0x04 spi-3 egress max fill level register 60, page 61 0x0a00, 0x00-0x17f lid associated event counters 61, page 61 0x0c00, 0x00-0x0b non lid associated event counters 62, page 62 0x0c00, 0x0c non lid associated interrupt indication register 63, page 62 0x0c00, 0x0d non lid associated interrupt enable register 64, page 62 0x0c00, 0x0e lid associated interrupt indication register 65, page 62 0x0c00, 0x0f lid associated interrupt enable register 66, page 63 0x0c00, 0x10-0x15 non critical lid associated capture table 67, page 63 0x0c00, 0x16-0x17 spi-3 to spi-4 critical lid interrupt indication registers 68, page 63 0x0c00, 0x18-0x19 spi-3 to spi-4 critical lid interrupt enable registers 69, page 63 0x0c00, 0x1a-0x1b spi-4 to spi-3 critical lid interrupt indication registers 70, page 63 0x0c00, 0x1c-0x1d spi-4 to spi-3 critical lid interrupt enable registers 71, page 63 0x0c00, 0x1e critical events source indication register 72, page 64 0x1000, 0x00-0x3f spi-3 ingress packet length configuration register 73, page 64 0x1100, 0x00-0x3f spi-4 egress port descriptor table 74, page 64 ???????- spi-4 egress direction code assignment 75, page 64 0x1200, 0x00-0x3f spi-3 ingress port descriptor table 76, page 65 0x1300, 0x00 spi-3 to spi-4 pfp register 77, page 65 ???????- nr_lid field encoding 78, page 65 0x1300, 0x01 spi-3 to spi-4 flow control register 79, page 66 0x1600, 0x00-0x3f spi-4 ingress packet length register 80, page 66 0x1700, 0x00-0x3f spi-3 egress port descriptor table 81, page 66 ???????- spi-3 egress direction code assignment 82, page 66 0x1800, 0x00-0x3f spi-4 ingress port descriptor table 83, page 67 0x1900, 0x00 spi-4 to spi-3 pfp register 84, page 67 ???????- nr_lid field encoding table 48 - module a/b/c/d indirect register
57 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 50 - spi-3 general configuration register (register_offset=0x00) field bits length initial value link 0 1 0b0 packet 1 1 0b1 spi3_enable 2 1 0b0 buswidth 3 1 0b0 even_parity 4 1 0b0 parity_en 5 1 0b1 reserved 6 1 0b0 reserved 7 1 0b0 watermark 12:8 5 0x0f reserved 31:9 19 0x000 table 49 - spi-3 ingress lp to lid map field bits length initial value lid 5:0 6 0x00 enable 6 1 0b0 bit_reversal 7 1 0b0 there are 256 spi-3 ingress logical port (lp) to logical identifier (lid) registers, one per potential spi-3 lp. only 64 lps per spi-3 physical interface can be enabled. an attempt to enable more than 64 lps per spi-3 physical interface or to assign an identical lid to more than one lp will be discarded and an error code will be returned. the enable bit is used to enable spi- 3 logical ports. all data from non-enabled spi-logical ports is discarded and an inactive spi-3 logical port event is generated. this event is directed towards the pmon & diag module. disabled ports always generate available status. the table 49 - spi-3 ingress lp to lid map assigns a lid to a spi-3 logical port. lid mapping for 64 out of 256 spi-3 logical ports is supported on each spi-3 physical port. lps in the spi exchange are 8 bits wide[7:0] and range from 0 to 255. an example of mapping spi-3 physical interface ?a?, lp 0x08 to lid 0x05, activating the lid, and not using bit reversal is outlined. perform an indirect write of 0x45 to register address module_base 0x0000 + block_base 0x0000 + register_offset 0x08 = 0x0008. another example of spi-3 lp to lid mapping is to map spi-3 ?b?, lp 0xff to lid 0x3f, write 0x7f to register module_base 0x2000 + block_base 0x0000 + register_offset 0xff = 0x20ff. the initial value column is the value of the register after reset. lid the lid programmed is associated to the lp with the same number as the register address. six bits support the 64 simultaneously active lids per spi-3 physical interface. enable this bit is used to enable or disable the connection of this lp to this lid. 0=lid disabled 1=lid enabled bit_reversal this bit is used to reverse the bit ordering of each byte of the spi-3 interface on a per-lid basis. 0=disable bit reversal for this lid 1=enable bit reversal for this lid 9.3.2 block base 0x0200 registers spi-3 general configuration register (block_base 0x0200 + register_offset 0x00) there is one register for spi-3 general configuration per spi-3 interface. each register has read and write access. the address for module a is 0x0200, module b is 0x2200, module c is 0x4200, and module d is 0x6200. the bit fields of the spi-3 general configuration register are described in the following paragraphs. link a spi-3 interface can be used either in link or phy modes. for connecting to a transmission line-interface phy, program the spi exchange for link mode. for connecting the spi-3 interface to an npu or other link-mode device, program the spi-3 interface for phy mode. note that the four spi-3 interfaces can be independently configured into either link or phy modes. the spi-3 ingress and egress of a given spi-3 physical port will always be in the same mode. 0= spi-3 interface in phy mode 1= spi-3 interface in link mode packet a spi-3 interface can be used either in byte or packet modes. a spi-3 interface acting as a link layer device can poll the attached phy device for up to 64 lps if the attached phy device supports the polling interface. when attached to a phy device that only supports byte mode, the four direct status indicators can be used. note that the four spi-3 interfaces can be independently configured into either byte or packet modes. when the spi exchange is in phy mode, the packet bit is used to select either a polled or direct status response to the attached link device. 0 = byte mode with direct status indication for up to 4 lps [3:0] 1= packet mode with polled status for up to 64 lps spi3_enable a spi-3 interface can be enabled or disabled according to the state programmed into this bit. a port should be disabled to save power if it is not used. 0=spi-3 physical port disabled, outputs are in tristate 1=spi-3 physical port enabled buswidth a spi-3 interface can be used as either a single 8-bit or 32- bit interface, according to the needs of the attached device. the spi-3 ingress and egress of a given spi-3 physical port will always be of the same bus width. 0=32 bit spi-3 interface 1=8 bit spi-3 interface 9.3.1 block base 0x0000 registers spi-3 ingress lp to lid map (block_base 0x0000 + register_offset 0x00 to 0xff)
58 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 even_parity a spi-3 interface is provisioned to generate and to check for odd or even parity. the parity_en bit must be set for this to become effective. odd parity is standard for spi-3 interfaces. 0=odd parity on this port 1=even parity on this port parity_en a spi-3 interface is provisioned to enable or disable parity generation and checking, according to the state of the even_parity bit. 0=disable parity on this spi-3 port 1=enable parity on this spi-3 port watermark a spi-3 interface can be set to a spi-3 ingress port watermark value. 0x10 is the highest watermark that can be set, meaning all ingress buffers will be full before backpressure will be initiated on a spi-3 ingress interface. the watermark field value of 0x08 is used to set the watermark for a half-full ingress buffer before tripping backpressure. the units of water- mark are one-sixteenth of the available ingress buffering per unit. each unit is equal to 128 bytes. backpressure_en must be set [register_offset 0x01] for the watermark to become effective. the watermark field is usually set to 0x10, and the free_segment field of table 75, spi-3 ingress port descriptor tables (block_base 0x1200) is used for per lid backpressure. spi-3 ingress configuration register (block_base 0x0200 + register_offset 0x01) there is one register for spi-3 ingress configuration per spi-3 interface. each register has read and write access. the bit fields for a spi-3 ingress configuration register are described in the following paragraphs. backpressure_en a spi-3 interface can have backpressure enabled or disabled. disabling backpressure means that data coming into the ingress may be lost if the spi-3 interface ingress buffers overflow. the spi-3 interface can run at full-rate, however, since there will be no backpressure. attached devices that do not respond properly to backpressure should be interfaced by disabling backpressure. enabling backpressure will cause the i_enb signal to be asserted when the ingress buffer fill level is equal to the watermark value [register_offset 0x00], or the free segment buffer threshold table 75, spi-3 ingress port descriptor table (block_base 0x1200) has been reached for any active lid. 0=disable backpressure on this spi-3 ingress. 1=enable backpressure on this spi-3 ingress interface. fix_lp a spi-3 interface can fix the logical port address to 0x00. this is useful when there is only one lp on an interface, such as with some single- phy devices. 0= do not fix logical port address to 0x00, but use the actual lp found in the packet fragments. 1= fix logical port address to 0x00 spi-3 ingress fill level register (block_base 0x0200 + register_offset 0x02) table 51 - spi-3 ingress configuration register (register_offset=0x01) field bits length initial value backpressure_en 0 1 0b1 fix_lp 1 1 0b0 reserved 31:2 30 0x0000 there is one register for spi-3 ingress fill level register per spi-3 interface. each register has read-only access. the bit fields of a spi-3 ingress fill level register are described. fill_cur current spi-3 ingress buffer fill level. since this is a real-time register, the value read from it will change rapidly and is used for internal diagnostics only. i_fclk_av current spi-3 ingress clock availability is checked here. 0=spi-3 ingress clock not detected on a spi-3 port 1=spi-3 ingress clock transitions detected on a spi-3 port spi-3 ingress max fill register (block_base 0x0200 + register_offset 0x03) table 52 - spi-3 ingress fill level register (register_offset=0x02) field bits length initial value fill_cur 4:0 5 0x00 i_fclk_av 5 1 0b1 table 53 - spi-3 ingress max fill level register (register_offset=0x03) field bits length initial value fill_max 4:0 5 0x00 there is one register for spi-3 ingress max fill level register per spi-3 interface. each register has read-only access, and is cleared after reading. 0x10 is the highest filling level, meaning all ingress buffers had been full at some time since the last read of the fill_max field. the units of fill_max are one- sixteenth of the available ingress buffering. each unit is equal to 128 bytes. the bit field of a spi-3 ingress max fill level register is described. the table 53 - spi- 3 ingress max fill level register (register_offset=0x03) is for diagnostics only. fill_max maximum spi-3 ingress buffer fill level since the last read of the spi-3 ingress max fill level register. 9.3.3 block base 0x0500 registers spi-3 egress lid to lp map (block_base 0x0500 + register_offset 0x00-0x3f) table 54 - spi-3 egress lid to lp map field bits length initial value lp 7:0 8 0x00 enable 8 1 0b0 bit_reversal 9 1 0b0 there are 64 spi-3 egress lid to lp maps per spi-3 interface, one per potential spi-3 lid. the spi-3 egress lid to lp maps have read and write access. the spi- 3 egress lid to lp maps are used to map spi-3 egress logical identifiers to spi- 3 logical port addresses that are in-band with the spi-3 egress packet fragments. lp the lp programmed is associated to the lid with the same number as the register address.
59 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 56 - spi-4 ingress to spi-3 egress flow control register (register_offset=0x01) field bits length initial value credit_en 0 1 0b0 burst_en 1 1 0b0 loop_back 2 1 0b0 reserved 31:3 29 0x00 table 57 - spi-3 egress test register (register_offset=0x02) field bits length initial value add_par_err 0 1 0b0 dat_par_err 1 1 0b0 reserved 7:2 6 0x00 port_address 15:8 8 0x0f enable this bit is used to enable or disable the connection of a lid to an lp. 0=lp disabled 1=lp enabled bit_reversal this bit is used to reverse the bit ordering of each byte of the spi-3 interface on a per-lp basis. 0=disable bit reversal for an lp 1=enable bit reversal for an lp 9.3.4 block base 0x0700 registers spi-3 egress configuration register (block_base 0x0700 + register_offset 0x00) there is one spi-3 egress configuration register per spi-3 interface. the spi-3 egress configuration registers have read and write access. a spi-3 egress configuration registers is used to control the poll sequence length of a spi-3 egress interface when the spi-3 interface is in link mode. the spi-3 egress configuration register is used to add two cycles to stx or eop as required to interface to the attached device. poll_length poll sequence length when in link mode. the poll sequence is from the lp associated with lid0 to the lp associated with the lid for poll_length - 1. stx_spacing this bit is used to enable or disable the adding of two dummy stx cycles to a spi-3 egress interface to meet the needs of an attached device. 0= no dummy stx cycles are added to a spi-3 egress. 1= two dummy stx cycles are added to a spi-3 egress eop_spacing this bit is used to enable or disable the adding of two dummy eop cycles to a spi-3 egress interface to meet the needs of an attached device. 0= no dummy eop cycles are added to a spi-3 egress. 1= two dummy eop cycles are added to a spi-3 egress spi-4 ingress to spi-3 egress flow control register (block_base 0x0700 + register_offset 0x01) the spi-4 ingress to spi-3 egress flow control register has read and write access. the bit fields of the spi-4 ingress to spi-3 egress flow control register are described. credit_en credit_en the flow control information received from the attached spi-3 device is interpreted as status or credit information as selected by the credit_en bit in the spi-4 ingress to spi-3 egress flow control register. if the status mode is used, data will be egressed until the status is changed by the attached spi-3 device. if the credit mode is used, the spi-3 egress will transmit only one packet fragment and then wait for an update in the internal buffer segment pool status before sending another packet fragment. 0=status mode 1=credit mode burst_en multiple burst enable allows more than one burst to be sent to an lp. when this feature is not enabled, only one burst per lp is allowed into the spi-3 egress buffers. 0=disable burst enable 1=enable burst enable loop_back in this mode the contents of a spi-3 ingress are directly transferred to a spi-3 egress buffers of the same port. this mode is useful for off-line diagnostics. 0=disable loopback 1=enable loopback spi-3 egress test register (block_base 0x0700 + register_offset 0x02) table 55 - spi-3 egress configuration register (register_offset=0x00) field bits length initial value poll_length 5:0 6 0x0f reserved 7:6 2 0b00 stx_spacing 8 1 0b0 eop_spacing 9 1 0b0 reserved 31:10 22 0x00 the spi-3 egress test register has read and write access. a single address parity error is introduced on a spi-3 egress lp through the add_par_err bit field. a single data parity error is introduced on a spi-3 egress lp through the dat_par_err bit field. the lp affected by these two parity error bit fields is enumerated in the port_address field. the bit fields of spi-3 egress test register are described. the bit fields are automatically cleared following the generation of the associated error.
60 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 there is one register for spi-3 egress fill level register per spi-3 interface. each register has read-only access. the bit fields of the spi-3 egress fill level register are described. add_par_err a single address parity error is introduced on a spi- 3 egress lp through the add_par_err bit field. the lp affected by the add_par_err bit field is enumerated in the port_address field. 0=no parity error introduced 1=introduce a single address parity error on a spi-3 egress lp dat_par_err a single data parity error is introduced on a spi-3 egress lp through the dat_par_err bit field. the lp affected by the dat_par_err bit field is enumerated in the port_address field. 0=no parity error introduced 1=introduce a single data parity error on a spi-3 egress lp port_address the lp affected by both the add_par_err and the dat_par_err bit fields is enumerated in the port_address field. the value of the port_address is set from 0x00 to 0xff. spi-3 egress fill level register (block_base 0x0700 + register_offset 0x03) fill_cur current spi-3 egress buffer fill level. since this is a real-time register, the value read from it will change rapidly and is used for internal diagnostics only. i_fclk_av current spi-3 egress clock availability is checked here. 0=spi-3 egress clock transitions were not detected on a spi-3 port 1=spi-3 egress clock transitions were detected on a spi- 3 port spi-3 egress max fill level register (block_base 0x0700 + register_offset 0x04) table 58 - spi-3 egress fill level register (register_offset=0x03) field bits length initial value fill_cur 3:0 4 0x0 reserved 4 1 0x0 e_fclk_av 5 1 0b0 table 59 - spi-3 egress max fill level regis- ter (register_offset=0x04) field bits length initial value fill_max 3:0 4 0x0 there is one register for spi-3 egress max fill level per spi-3 interface. each register has read-only access, and is cleared after reading. 0xf is the highest filling level, meaning all egress buffers had been full at some time since the last read of the fill_max field. the units of fill_max are one-sixteenth of the available egress buffering. each unit is equal to 128 bytes. the bit field of the spi-3 egress max fill level register is described. fill_max maximum spi-3 egress buffer fill level since the last read of the spi-3 egress max fill level register
61 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 performance monitor counters two categories of events are captured: lid and non lid associated events. if at least one event is captured in one of the interrupt indication registers, an active pmon service request is directed towards the interrupt module. all events and diagnostics data are accumulated during an interval defined by the time base event. the data accumulated during the previous time period can be accessed by the indirect access scheme. the counters are cleared when the time base expires. all counters are saturating, and will not overflow. 9.3.5 block base 0x0a00 registers lid associated event counters (block_base 0x0a00 + register_offset 0x000 to 0x17f) table 60 - lid associated event counters (0x000-0x17f) offset counter counter length (bits) lid*6+0 spi-3 ingress good packet counter 24 lid*6+1 spi-3 ingress bad packet counter(error tagged) 24 lid*6+2 spi-4 ingress good packet counter 24 lid*6+3 spi-4 ingress bad packet counter(abort) 24 lid*6+4 spi-3 egress packet counter 24 lid*6+5 spi-4 egress packet counter 24 a set of event counters is provided for each of the 64 lids on each spi-3 interface and for each lid to or from a spi-4 module. lid associated event counters keep track of packets, packets not delineated by an sop and an eop, or error-tagged packets. table 61 - non lid associated event counters (0x00 - 0x0b) offset counters subject to accumulation width 0x00 spi-3 ingress bytes all bytes of transfers for active spi-3 (excluding 29 address parity error) individual for a/b/c/d 0x01 spi-3 ingress transfers all transfers for active spi-3 26 0x02 pfp3-4 ingress too long packet spi-3 ingress packets longer than max_length 8 0x03 pfp3-4 ingress too short packet spi-3 ingress packets shorter than min_length 8 0x04 spi-3 ingress error tagged packet parity error on spi-3 ingress 8 0x05 reserved 8 0x06 spi-4 ingress bytes all bytes of transfers for spi-4, individual for 29 modules a/b/c/d 0x07 spi-4 ingress transfers all transfers for active spi-4 for a and b and c and 26 d, same value in a, b, c, d 0x08 pfp4-3 ingress too long packet spi-4 ingress packets longer than max_length 8 0x09 pfp4-3 ingress too short packet spi-4 ingress packets shorter than min_length 8 0x0a spi-4 ingress error tagged packet dip-4 error on ingress 8 0x0b reserved 8 non lid associated event counters (block_base 0x0c00 + register_offset 0x00 to 0x0b) 9.3.6 block base 0x0c00 registers non lid associated event counters are associated with spi-3 and spi-4 physical interfaces. the register offset is shown in the offset column.
62 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 non lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x0c) table 62 - non lid associated interrupt indication register (register_offset 0x0c) field bits length initial value spi4_lock_un 0 1 0b0 spi3_lock_un 1 1 0b0 spi3_iclk_un 2 1 0b0 spi3_eclk_un 3 1 0b0 spi3_flush 4 1 0b0 reserved 31:5 27 0x0 the non lid associated interrupt indication register is at block_base 0x0c00. the non lid interrupt indication register is used to determine the status of spi-3 and spi-4 port interrupts. the non lid associated interrupt indication register is read and subsequently a ?1? is written to acknowledge individual interrupts in this register. an interrupt is generated when enabled by the corresponding enable flag in the non lid associated interrupt indication register. the bit fields in the non lid associated interrupt indication register are described. spi4_lock_un the spi-4 interface can create an event indicating that the spi-4 ingress has dropped data due the unavailability of ingress buffering. 0=no operation 1=the spi-4 interface has dropped data due the unavailability of ingress buffering. spi3_lock_un a spi-3 interface can create an event indicating that a spi-3 ingress has dropped data due the unavailability of ingress buffering. 0=no operation 1=a spi-3 interface has dropped data due the unavailability of ingress buffering. spi3_iclk_un a spi-3 interface can create an event indicating that a spi-3 ingress clock has failed. no transitions were detected on a spi-3 ingress clock (i_fclk) 0=no operation 1=a spi-3 ingress clock has failed. spi3_eclk_un a spi-3 interface can create an event indicating that a spi-3 egress clock has failed. no transitions were detected on a spi-3 egress clock (e_fclk) 0=no operation 1=a spi-3 egress clock has failed. spi3_flush a spi-3 interface can create an event indicating that a spi-3 buffer has been flushed and data has been lost. a buffer is flushed if an address parity error is detected, or if an ingress buffer is not available at the time it is requested. 0=no operation 1=a spi-3 buffer has been flushed. non lid associated interrupt enable register (block_base 0x0c00 + register_offset 0x0d) table 63 - non lid associated interrupt enable register(register_offset 0x0d) field bits length initial value spi4_lock_un 0 1 0b0 spi3_lock_un 1 1 0b0 spi3_iclk_un 2 1 0b0 spi3_eclk_un 3 1 0b0 spi3_flush 4 1 0b0 reserved 31:5 27 0x0000 the non lid associated interrupt enable register is at block_base 0x0c00 + register_offset 0x0d. the non lid associated interrupt enable register is used to mask the status of spi-3 and spi-4 port interrupts in the non lid associated interrupt indication register. the non lid associated interrupt enable register has read and write access. the bit fields in the non lid associated interrupt enable register are active ?1? interrupt enables for the corresponding bit fields in the non lid associated interrupt indication register. lid associated interrupt indication register (block_base 0x0c00 + register_offset 0x0e) table 64 - lid associated interrupt indica- tion register (register_offset 0x0e) field bits length initial value event_type 5:0 6 0x00 reserved 31:6 26 0x0 the lid associated interrupt indication register is at block_base 0x0c00 + register_offset 0x0e. the lid associated interrupt indication register is used to determine the event_type of spi-3 and spi-4 interrupts. the event_type coding is given in the table 66 - non critical lid associated capture table (0x10-0x15). the lid associated interrupt indication register is read and subsequently a 0xff must be written for interrupt acknowledge. an event_type interrupt is generated when enabled by the event_type enable flag in the lid associated interrupt enable register. lid associated interrupt enable register (block_base 0x0c00 + register_offset 0x0f) table 65 - lid associated interrupt enable register (register_offset 0x0f) field bits length initial value event_type 5:0 6 0x00 reserved 31:6 26 0x0 the lid associated interrupt enable register is at block_base 0x0c00 + register_offset 0x0f. the lid associated interrupt enable register is used to mask the event_type of spi-3 and spi-4 per-lid interrupts. the lid associated interrupt enable register has read and write access.
63 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 non critical lid associated capture table (block_base 0x0c00 + register_offset 0x10-0x15) the non critical lid associated capture table is at block_base 0x0c00 + register_offset 0x10-0x15. the non critical lid associated capture table is used to determine the event_type of spi-3 and spi-4 per-lid or per-lp interrupts. the event_type coding is used to indicate which event or events are pertinent to the interrupt in the table 64 - lid associated interrupt indication register(0x0e). the non critical lid associated capture table is used to determine the event, and multiple bits can be active at the same time. the non critical lid associated capture table is read-only. spi-3 to spi-4 critical lid interrupt indication registers (block_base 0x0c00 + register_offset 0x16-0x17) the spi-3 to spi-4 critical lid interrupt indication registers are at block_base 0x0c00 + register_offset 0x16-0x17. critical events are captured per lid in the spi-3 to spi-4 critical lid interrupt indication registers. an interrupt is generated when enabled by the enable flag in the spi-3 to spi-4 critical lid interrupt enableregisters. a spi-3 to spi-4 critical lid interrupt indication register has read and write access. an interrupt indication is cleared by writing a logical one to the appropriate bit of a spi-3 to spi-4 critical lid interrupt indication register. only one kind of critical event is defined-buffer overflow. each bit of the lid field set to logical one indicates the presence of a buffer overflow event. a summary indication of as to which of the two sources, spi-3 to spi-4 or spi-4 to spi-3, is responsible for the critical interrupt is indicated in the table 71 critical events source indication register (0x1e). spi-3 to spi-4 critical lid interrupt enable regis- ters (block_base 0x0c00 + register_offset 0x18- 0x19) table 66 - non critical lid associated capture table (register_offset 0x10-0x15) register event_type associated field 0x00 inactive ingress spi-3 logical port event lp (8 bits) 0x01 spi-3 ingress data parity error lid (6 bits) 0x02 spi-4 illegal sop sequence event lid (6 bits) 0x03 spi-4 illegal eop sequence event lid (6 bits) 0x04 spi-3 illegal sop sequence event lid (6 bits) 0x05 spi-3 illegal eop sequence event lid (6 bits) table 67 - spi-3 to spi-4 critical lid inter- rupt indication registers (register_offset 0x16-0x17) register field bits length initial value 0x16 lid[31:0] 31:0 32 0x00 0x17 lid[63:32] 31:0 32 0x00 table 68 - spi-3 to spi-4 critical lid interrupt enable registers (register_offset 0x18- 0x19) register field bits length initial value 0x18 lid[31:0] 31:0 32 0x00 0x19 lid[63:32] 31:0 32 0x00 the spi-3 to spi-4 critical lid interrupt enable registers have read and write access. a spi-3 to spi-4 critical lid interrupt enable register bits enable the corresponding bits in a spi-3 to spi-4 critical lid interrupt indication register. spi-4 to spi-3 critical lid interrupt indication registers (block_base 0x0c00 + register_offset 0x1a-0x1b) table 69 - spi-4 to spi-3 critical lid interrupt indication registers (register_offset 0x1a-0x1b) register field bits length initial value 0x1a lid[31:0] 31:0 32 0x00 0x1b lid[63:32] 31:0 32 0x00 the spi-4 to spi-3 critical lid interrupt indication registers are at block_base 0x0c00 + register_offset 0x1a-0x1b. critical events are captured per lid in a spi-4 to spi-3 critical lid interrupt indication register. an interrupt is generated when enabled by the enable flag in the spi-4 to spi-3 critical lid interrupt enableregister. the spi-4 to spi-3 critical lid interrupt indication registers have read and write access. an interrupt indication is cleared by writing a logical one to the appropriate bit of a spi-4 to spi-3 critical lid interrupt indication register. only one kind of critical event is defined-buffer overflow. each bit of a lid field set to logical one indicates the presence of a buffer overflow event. a summary indication of as to which of the two sources, spi-3 to spi-4 or spi-4 to spi-3, is responsible for the critical interrupt is indicated in the table 71 critical events source indication register (0x1e). spi-4 to spi-3 critical lid interrupt enable regis- ters (block_base 0x0c00 + register_offset 0x1c- 0x1d) table 70 - spi-4 to spi-3 critical lid inter- rupt enable registers (register_offset 0x1c-0x1d) register field bits length initial value 0x1c lid[31:0] 31:0 32 0x00 0x1d lid[63:32] 31:0 32 0x00 the spi-4 to spi-3 critical lid interrupt enable registers have read and write access. the spi-4 to spi-3 critical lid interrupt enable register bits enable the corresponding bits in the spi-4 to spi-3 critical lid interrupt indication registers. critical events source indication register (block_base 0x0c00 + register_offset 0x1e) table 71 - critical events source indica- tion register (register_offset 0x1e) field bits length initial value spi34_ovr 0 1 0b0 spi43_ovr 1 1 0b0 reserved 31:2 30 0x0 the bits in the critical events source indication register are read only. bit spi34_ovr reflects the logical or result of all bits in the spi-3 to spi-4 critical lid associated interrupt indication registers. bit spi43_ovr reflects the logical or result of all bits in the spi-4 to spi-3 critical lid interrupt indication registers.
64 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 9.3.7 block base 0x1000 registers spi-3 ingress packet length configuration register (block_base 0x1000 + register_offset 0x00-0x3f) table 72 - spi-3 ingress packet length configuration register field bits length initial value min_length 7:0 8 0x40 reserved 15:8 8 0x00 max_length 29:16 14 0x5ee reserved 30:31 2 0x0 there is one set of spi-3 ingress packet length configuration registers per spi-3 ingress interface. each spi-3 ingress interface has 64 registers, one for each of the allowed lids supported per spi-3 interface. each register has read and write access. the minimum and maximum packet lengths per lid are provisioned using the spi-3 ingress packet length configuration register. the bit fields of a spi-3 ingress packet length configuration register are described. min_length spi-3 ingress minimum packet length. the minimum packet length is programmed from 0 to 255 bytes. the resolution of the minimum packet length is one byte. max_length spi-3 ingress maximum packet length. the maximum packet length is programmed from 0 to 16,383 bytes. the resolution of the maximum packet length is one byte. 9.3.8 block base 0x1100 registers spi-4 egress port descriptor table (block_base 0x1100 + register_offset 0x00-0x3f) table 73 - spi-4 egress port descriptor table (64 entries) field bits length initial value max_burst_h 3:0 4 0xf max_burst_s 7:4 4 0xf direction 9:8 2 0x3 reserved 31:10 22 0x000 there are four sets of spi-4 egress port descriptor tables, one per spi-3 interface. the minimum and maximum spi-4 egress burst lengths per lid are provisioned using a spi-4 egress port descriptor table. each spi-4 egress port descriptor table has read and write access. the bit fields of a spi-4 egress port descriptor table are described. these fields need to be programmed only for spi-4 egress (direction=0 in table 74-spi-4 egress direction code assignment). max_burst_h spi-4 egress per-lid burst length when the attached device has declared hungry through the fifo status channel. the number in the max_burst_h field is taken to mean that one more than that number multiplied by 16 is the maximum hungry burst length. for example, programming the number 3 into the max_burst_h field results in a maximum hungry burst size of (3 + 1) x 16 = 64 bytes. max_burst_s spi-4 egress per-lid burst length when the attached device has declared starving through the fifo status channel. the number in the max_burst_s field is taken to mean that one more than that number multiplied by 16 is the maximum starving burst length. for example, program- ming the number 7 into the max_burst_s field results in a maximum starving burst size of (7 + 1) x 16 = 128 bytes. the max_burst_s field should not be set to less than the max_burst_h field. direction the spi-4 egress traffic can be captured by the micropro- cessor, directed to a spi-3 egress port, to the spi-4 egress port, or discarded. the path selection is defined for each of the 64 lids by the associated direction field as shown in the following table . direction path 00 spi-4 01 associated spi-3 10 capture to microprocessor 11 discard table 74 - spi-4 egress direction code assignment 9.3.9 block base 0x1200 registers spi-3 ingress port descriptor tables (block_base 0x1200 + register_offset 0x00-0x3f) table 75 - spi-3 ingress port descriptor table (block_base 0x1200 + register_offset 0x00-0x3f) field bits length initial value m 8:0 9 0x000 reserved 15:9 7 0x00 reserved 20:16 5 0x00 reserved 23:21 3 0x0 free_segment 28:24 5 0x00 reserved 31:29 3 0x0 there is one set of 64 spi-3 ingress port descriptor tables per spi-3 ingress interface. the spi-3 ingress port descriptor tables are at block_base 0x1200 + register_offset 0x00-0x3f and have read and write access. each spi-3 ingress interface has 64 table entries for per-lid provisioning of m and free_segment fields. the spi-3 ingress port descriptor tables are used to control the amount of buffering and the free segment backpressure threshold of the available buffer segment pool for a spi-3 ingress on a per-lid basis. each spi-3 buffer segment pool is 128 kbytes, divided into 508 segments of 256 bytes per segment. these 508 segments are shared among the lids initially programmed into the nr_lid fields. a spi-3 ingress lid can be allocated the maximum number of segments out of the available buffer segments, or can be programmed to fewer segments by decreasing the m field. the free_segment field is used, along with the m field, to set the free segment backpressure threshold for a lid on a spi-3 ingress. m the number of 256-byte buffer pool segments on a spi-3 ingress port allocated to a lid. the range of m is 0x000 to 0x1fc (508 base 10), but can not exceed the number set by the choice of nr_lid [block_base 0x1300 + register_offset 0x00].
65 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 an example of the use of the buffer segment pool follows. for a spi-3 ingress interface that will never have more than four lids, set the nr_lid field for this interface to 0x01. this allows 256 buffer segments for a lid, with the total number of buffer segments for all 4 lids equal to 508. let?s say you want only 64 buffer segments for one of the lids. program field m for that lid to 0x040 (64 base 10). let?s say you want to backpressure the spi-3 ingress interface when 48 of the 64 allocated buffers for this lid are full. in other words, you want to exert spi-3 ingress backpressure when only 16 segments remain for this lid. since m=0x040, n=4 from the description of the m field above [block_base 0x1200]. setting the free_segment field to 4 then yields the desired threshold of 16. table 77 - nr_lid field encoding nr_lid maximum number maximum buffer segments of lids (base 10) for a lid (base 10) 0b000 1 508 0b001 4 256 0b010 8 128 0b011 16 64 0b100 32 32 0b101 64 16 spi-3 to spi-4 flow control register (block_base 0x1300 + register_offset 0x01) table 78 - spi-3 to spi-4 flow control reg- ister (register_offset 0x01) field bits length initial value credit_en 0 1 0b1 burst_en 1 1 0b0 reserved 7:2 6 0x00 a spi-3 to spi-4 flow control register has read and write access. there is one spi-3 to spi-4 flow control register per spi-3 ingress. the bit fields of the spi-3 to spi-4 flow control register are described. credit_en the information received over the fifo status channel is interpreted as status or credit information as selected by the credit_en flag in the spi-3 to spi-4 flow control register. if the status mode is used, data will be egressed until the status is changed by the attached device. if the credit mode is used, the spi-4 egress will issue only one credit?s worth data burst and then wait for another credit from the status channel before issuing another lid burst. 0=status mode 1=credit mode burst_en multiple burst enable allows more than one burst to be sent to an lp. this feature is included to relieve systems with long latency between updates. when this feature is not enabled, only one burst per lp is allowed into the spi-4 egress buffers. 0=disable burst enable 1=enable burst enable free_segment the free_segment field is used to define the spi- 3 ingress per-lid free segment backpressure threshold based on the number of free buffer segments (m) available, as follows: threshold = n * free_segement, where the value of n is defined as a function of the domain of m: m[8:0] n (base 10) 0x100 to 0x1fc 16 0x080 to 0x0ff 8 0x040 to 0x07f 4 0x020 to 0x03f 2 0x000 to 0x01f 1 the threshold thus defined is the number of free segments available for a lid at the time of backpressure initiation. 9.3.10 block base 0x1300 registers the spi-3 ingress to spi-4 egress packet fragment processor and flow control registers are at block_base 0x1300. spi-3 to spi-4 pfp register (block_base 0x1300 + register_offset 0x00) table 76 - spi-3 to spi-4 pfp register (register_offset 0x00) field bits length initial value nr_lid 2:0 3 0b011 reserved 7:3 5 0x0 a spi-3 ingress to spi-4 egress pfp (packet fragment processor) register has read and write access. there is one spi-3 to spi-4 pfp register per spi- 3 ingress. the bit fields of an 8-bit spi-3 to spi-4 pfp register are described. nr_lid the maximum number of lids per spi-3 physical ingress interface that will ever be used is programmed into the nr_lid field. once configured after reset, this value can not be changed. fewer lids can be used by not activating some of the lids, but more lids than the value in nr_lid are not allowed and will generate an error. the nr_lid field is important, as the buffer segment pool is divided among the number of lids programmed into the nr_lid field. a 128 kbyte spi-3 to spi-4 buffer segment pool for storing data bursts for the spi-4 egress is available for each spi-3 physical port. a configurable part of this buffer segment pool can be assigned to each of the possible lids allowed by the nr_lid field value per spi-3 physical interface. the buffer size for a lid can be configured in multiples (m) of 256 bytes. modifications of the buffer size allocated to a lid are supported only when the logical port associated to the lid is disabled. attempts to allocate more memory than available will generate an allocation error event. the indirect access module will discard the attempt. a 128 kbyte spi-3 to spi-4 buffer segment pool is divided into 508 buffer segments. each buffer segment is equal to 256 bytes. the buffer segments are shared among the number of logical ports defined by the static nr_lid configuration. the buffer segments do not have to be equally shared among the lids. one buffer segment corresponds to a data burst to be forwarded to the spi-4 egress interface.
66 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 9.3.11 block base 0x1600 registers the spi-4 ingress registers are at block_base 0x1600. spi-4 ingress packet length configuration (block_base 0x1600 + register_offset 0x00-0x3f) table 79 - spi-4 ingress packet length configuration (64 entries) field bits length initial value min_length 7:0 8 0x40 reserved 15:8 8 0x00 max_length 29:16 14 0x5ee reserved 31:30 2 0x0 there are four sets of 64 registers for spi-4 ingress packet length configu- ration, one per spi-3 interface. each register has read and write access. the minimum and maximum packet lengths per lid are provisioned using a spi- 4 ingress packet length configuration register. the bit fields of a spi-4 ingress packet length configuration register are described. min_length spi-4 ingress minimum packet length. the minimum packet length is programmed from 0 to 255 bytes. the resolution is one byte. max_length spi-4 ingress maximum packet length. the maximum packet length is programmed from 0 to 16,383 bytes. the resolution is one byte. 9.3.12 block base 0x1700 registers spi-3 egress port descriptor table (block_base 0x1700 + register_offset 0x00-0x3f) there are 64 spi-3 egress port descriptor tables per spi-3 egress port. the spi-3 egress port descriptor table has read and write access. the spi-3 egress per lid packet fragment length and direction are provisioned using the spi-3 egress port descriptor tables. the bit fields of a spi-3 egress port descriptor table are described. max_burst spi-3 packet fragment length for a spi-3 egress lp. one more than max_burst field multiplied by sixteen is the packet fragment length for the lp. for example, programming the number 3 into the max_burst field results in a packet fragment length of (3+1) x 16 = 64 bytes. the max_burst field is used to prioritize traffic. direction the spi-3 egress traffic is directed to a spi-3 egress port. the path selection is defined for each of the 64 lids by the associated direction field as shown in the following table . table 80 - spi-3 egress port descriptor table (64 entries) field bits length initial value max_burst 3:0 4 0x0f reserved 7:4 4 0x0 direction 8:9 2 0b11 reserved 31:10 22 0x00 9.3.13 block base 0x1800 registers spi-4 ingress port descriptor table (block_base 0x1800 + register_offset 0x00-0x3f) there is one set of 64 registers for spi-4 ingress port descriptors per spi- 3 interface. the spi-4 ingress port descriptor tables are 32 bits wide and have read and write access. each of the spi-4 ingress port descriptor tables is used to control the amount of buffering and the backpressure threshold of the available buffer segment pool for the spi-4 ingress. each spi-4 ingress buffer segment pool is 128 kbytes, divided into 508 buffer segments of 256 bytes per segment. the 508 buffer segments can be shared among the lids initially programmed by the numerical field nr_lid. of the share of the buffer memory, a spi-4 lid can be allocated the maximum number of segments permitted, or can be programmed to fewer segments by decreasing the m field. decreasing m increases the chance of backpressure and possibly buffer overflow, but can result in lower latency. the free_segment_s (starving threshold) and free_segment_h (hungry threshold) fields are used, along with the m field, to set the two backpressure settings per lid on the spi-4 ingress. the free_segment_s field must always be greater than the free_segment_h field. m the number of 256-byte buffer pool segments allocated to a lid. the range of m is 0x000 to 0x1fc (508 base 10), but can not exceed the number dictated by nr_lid [block_base 0x1900 + register_offset 0x00]. free_segment_s this field is used to define the spi-4 ingress per-lid starving backpressure threshold based on the number of free buffer pool segments (m) available, as follows: threshold_s = n * free_segement_s, where the value of n is defined as: direction path 00 spi-3 physical 01 reserved 10 capture 11 discard table 81 - spi-3 egress direction code assignment table 82 - spi-4 ingress port descriptor table (64 entries) field bits length initial value m 8:0 9 0x000 reserved 15:9 7 0x00 free_segment_s 20:16 5 0x00 reserved 23:21 3 0x0 free_segment_h 28:24 5 0x00 reserved 31:29 3 0x0 m[8:0] n 0x1ff to 0x100 16 0x0ff to 0x080 8 0x07f to 0x040 4 0x03f to 0x020 2 0x01f to 0x000 1 free_segment_h this field is used to define the spi-4 ingress per-lid hungry backpressure threshold based on the number of free buffer pool segments (m) available, as follows: threshold_h = n * free_segement_h, where the value of n is as defined for free_segement_s.
67 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 83 - spi-4 to spi-3 pfp register (0x00) field bits length initial value nr_lid 2:0 3 0b011 reserved 7:3 5 0x00 table 84 - nr_lid field encoding nr_lid maximum number maximum buffer segments of lids for a lid 0b000 1 508 0b001 4 256 0b010 8 128 0b011 16 64 0b100 32 32 0b101 64 16 9.3.14 block base 0x1900 registers spi-4 to spi-3 pfp register (block_base 0x1900 + register_offset 0x00) the spi-4 ingress to spi-3 egress packet fragment processor registers are at block_base 0x1900 + register_offset 0x00. a spi-4 to spi-3 pfp register has read and write access. the bit fields of a spi-4 to spi-3 pfp register are described. nr_lid the maximum number of lids per spi-3 physical inter- face that will ever be used is programmed into the nr_lid field. once configured after reset, this value can not be changed. fewer lids can be used by not activating some of the lids, but more lids than the value in nr_lid are not allowed and will generate an error. the nr_lid field is important, as the buffer segment pool is divided among the number of lids programmed into the nr_lid field. a 128 kbyte spi-4 to spi-3 buffer segment pool for storing packet fragments for a spi-3 egress is available per spi-3 physical port. a configurable part of the buffer segment pool can be assigned to each of the lids, as determined by the nr_lid value, per spi-3 physical interface. the buffer size (m) for a lid can be configured in multiples of 256 bytes. modifications of the buffer size allocated to a lid are supported only when the logical port associated to the lid is disabled. attempts to allocate more memory than available will generate an allocation error event. the indirect access module will discard the attempt. the 128 kbyte spi-4 to spi-3 buffer segment pool is divided into 508 buffer segments. each buffer segment is equal to 256 bytes. the buffer segments are shared among the number of logical ports defined by the static nr_lid configuration. the buffer segments do not have to be equally shared among the allocated lids. one buffer segment corresponds to a packet fragment to be forwarded to a spi-3 egress physical interface. an example of the use of the buffer segment pool follows. for a spi-3 egress interface that will never have more than eight lids, set the nr_lid field for this interface to 0x02. this allows 128 buffer segments for a lid with the total number of buffer segments for all eight lids equal to 508. let?s say you want only 24 (base 10) buffer segments for one of the lids. program field m for that lid to 0x018 (24 base 10). let?s say you want to set the per-lid starving backpressure for the spi-4 ingress interface when 20 of the 24 allocated buffers for this lid are full. in other words, you want to assert spi-4 ingress starving when only 4 segments remain for this lid. since m=0x018, n=1 from the description of the m field above [block_base 0x1800]. setting the free_segment_s field to 4 then yields the desired threshold_s of 4. similarly, to set the per-lid spi-4 ingress hungry threshold, threshold_h, to trip when only 6 buffer segments remain for this lid, program the free_segment_h field for this lid to 6.
68 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 9.4 common module indirect registers (module_base 0x8000) table number, page block_base, register_offset title of register 86, page 69 0x0000, 0x00-0xff spi-4 ingress lp to lid map 87, page 69 0x0100, 0x00-0xff spi-4 ingress calendar_0 88, page 69 0x0200, 0x00-0xff spi-4 ingress calendar_1 89, page 69 0x0300, 0x00 spi-4 ingress configuration register 90, page 70 0x0300, 0x01 spi-4 ingress status configuration register 91, page 70 0x0300, 0x02 spi-4 ingress status register 92, page 70 0x0300, 0x03 spi-4 ingress inactive transfer port 93, page 71 0x0300, 0x04-0x05 spi-4 ingress calendar configuration register 94, page 71 0x0300, 0x06 spi-4 ingress watermark register 95, page 71 0x0300, 0x07-0x0a spi-4 ingress fill level register 96, page 71 0x0300, 0x0b-0x0e spi-4 ingress max fill level register 97, page 71 0x0300, 0x0f spi-4 ingress diagnostics register 98, page 72 0x0300, 0x10 spi-4 ingress dip-4 error counter 99, page 72 0x0300, 0x11 spi-4 ingress bit alignment control register 100, page 72 0x0300, 0x12 spi-4 ingress start up training threshold register 101, page 72 0x0400, 0x00-0xff spi-4 egress lid to lp map 102, page 72 0x0500, 0x00-0xff spi-4 egress calendar_0 103, page 73 0x0600, 0x00-0xff spi-4 egress calendar_1 104, page 73 0x0700, 0x00 spi-4 egress configuration register_0 105, page 73 0x0700, 0x01 spi-4 egress configuration register_1 106, page 74 0x0700, 0x02 spi-4 egress status register 107, page 74 0x0700, 0x03-0x04 spi-4 egress calendar configuration register 108, page 74 0x0700, 0x05 spi-4 egress diagnostics register 109, page 74 0x0700, 0x06 spi-4 egress dip-2 error counter 110, page 75 0x0800, 0x00 spi-4 ingress bit alignment window register 111, page 75 0x0800, 0x01 spi-4 ingress lane measure register 112, page 75 0x0800, 0x02-0x0b spi-4 ingress bit alignment counter register 113, page 75 0x0800, 0x0c-0x1f spi-4 ingress manual alignment phase/result register 114, page 75 0x0800, 0x2a spi-4 egress data lane timing register 115, page 76 0x0800, 0x2b spi-4 egress control lane timing register 116, page 76 0x0800, 0x2c spi-4 egress data clock timing register 117, page 76 0x0800, 0x2d spi-4 egress status timing register 118, page 76 0x0800, 0x2e spi-4 egress status clock timing register 119, page 77 0x0900, 0x00 pmon timebase control register 120, page 77 0x0900, 0x01 timebase register 121, page 77 0x0900, 0x10 clock generator control register 122, page 77 ???????- oclk and mclk frequency select encoding 123, page 78 0x0900, 0x20 gpio register 124, page 78 0x0900, 0x21? 0x25 gpio monitor table 125, page 78 0x0900, 0x30 version number register table 85 - common module (module_base 0x8000) indirect register table
69 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 86 - spi-4 ingress lp to lid map (256 entries, one per lp) field bits length initial value lid 5:0 6 0x00 pfp 7:6 2 0x0 enable 8 1 0x0 9.4.1 common module block base 0x0000 registers spi-4 ingress lp to lid maps (block_base 0x0000 + register_offset 0x00 to 0xff) there are 256 spi-4 ingress lp to lid maps for the spi-4 ingress interface at block_base 0x0000. the spi-4 ingress lp to lid maps have read and write access. the spi-4 ingress lp to lid maps are used to map spi-4 ingress logical ports to logical identifiers used internally. data for an inactive lp having an entry in the calendar is forwarded to lid0. therefore all the lps that have entries in the calendar tables should be enabled. lid the lid programmed is associated to the lp with the same number as the register address. six bits support the 64 simultaneously active lids per spi-3 physical interface. pfp the pfp field is used to select among spi-4 ingress to spi-3 egress packet processing engines. the number in the pfp field selects the pfp module to be used. 0x0=select pfp module a 0x1=select pfp module b 0x2=select pfp module c 0x3=select pfp module d enable the enable is used to enable or disable the connection of an lp to a lid. 0=lp is disabled 1=lp is enabled 9.4.2 common module block base 0x0100 registers spi-4 ingress calendar_0 (block_base 0x0100 + register_offset 0x00 to 0xff) table 87 - spi-4 ingress calendar_0 (256 entries) field bits length initial value lp 7:0 8 0xff the spi-4 ingress calendar_0 is at block_base 0x0100 and has read and write access. when the spi-4 ingress calendar_0 is selected, spi-4 ingress calendar_0 is in use. there are 256 entries in the spi-4 ingress calendar_0 to schedule the updating of the fifo status channel lps to the attached device. if less than the maximum 256 lps are needed on the spi-4 interface, the calendar entries should be used for scheduling more frequent status updates for higher-speed lps. the value of time-critical lps must appear multiple times in the table. for example, a multi-phy spi-4 could have oc-48 channels appear in the calendar at four times the rate of oc-12 channels, since the higher data rate of the oc-48 channels would benefit from more frequent fifo status channel updates. the lp field values range from 0x00 to 0xff. the IDT88P8344 and the attached device must have identical calendars for ingress and the attached egress device. the ingress and egress calendars of the IDT88P8344 device do not have to match. lp the lp value programmed schedules a status channel update according to the calendar sequence. 9.4.3 common module block base 0x0200 registers spi-4 ingress calendar_1 (block_base 0x0200 + register_offset 0x00 to 0xff) table 88 - spi-4 ingress calendar_1 (256 entries) field bits length initial value lp 7:0 8 0xff the spi-4 ingress calendar_1 is at block_base 0x0200 and has read and write access. when the spi-4 ingress calendar_1 is selected, spi-4 ingress calendar_1 is in use. there are 256 entries in the spi-4 ingress calendar_1 to schedule the updating of the fifo status channel lps to the attached device. if less than the maximum 256 lps are needed on the spi-4 interface, the calendar entries should be used for scheduling more frequent status updates for higher-speed lps. the value of time-critical lps must appear multiple times in the table. for example, a multi-phy spi-4 could have oc-48 channels appear in the calendar at four times the rate of oc-12 channels, since the higher data rate of the oc-48 channels would benefit from more frequent fifo status channel updates. the lp field values range from 0x00 to 0xff. the IDT88P8344 and the attached device must have identical calendars for ingress and the attached egress device. the ingress and egress of the IDT88P8344 do not have to match, however. lp the lp value programmed schedules a status channel update according to the calendar sequence. 9.4.4 common module block base 0x0300 registers spi-4 ingress configuration register (block_base 0x0300 + register_offset 0x00) table 89 - spi-4 ingress configuration register (0x00) field bits length initial value spi-4_en 0 1 0b0 reserved 1 1 0x0 reserved 2 1 0x0 i_clk_edge 3 1 0x0 i_dsc 4 1 0x0 i_insync_thr 9:5 5 0x1f i_outsync_thr 13:10 4 0xf i_csw_en 14 1 0x0 cal_sel 15 1 0x0 i_low 16 1 0b1 the spi-4 ingress configuration register is at block_base 0x0300 and has read and write access. the spi-4 ingress configuration register is used to set the state of the spi- 4 ingress interface. the bit fields of the spi-4 ingress configuration register are described.
70 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4_en the spi-4 ingress path is enabled using this field. the spi-4 path is disabled during reset and while configuring the port, and then is enabled for normal use. 0=spi-4 ingress is disabled 1= spi-4 ingress is enabled i_clk_edge the spi-4 ingress lvttl status clock active clock edge is selected using the i_clk_edge field. 0=spi-4 ingress lvttl status clock uses the rising edge 1= spi-4 ingress lvttl status clock uses the falling edge i_dsc the i_dsc bit is used to protect against a random data error during de-skew. 0= one de-skew result is needed for data de-skew 1= two consecutive de-skew results are needed for data de-skew (recommended setting) i_insync_thr the spi-4 ingress dip-4 in synchronization threshold is controlled using the i_insync_thr field. it is recommended to use the initial value. i_outsync_thr the spi-4 ingress dip-4 out-of synchronization threshold is controlled using the i_outsync_thr field. it is recommended to use the initial value. i_csw_en the ingress calendar switch enable bit is used to enable the switching of the active calendars. it is recommended to use the initial value. 0=ingress calendar switch disabled. only spi-4 ingress calendar_0 is used. 1=ingress calendar switch enabled. calendar_0 or calendar_1 can be used. cal_sel the calendar select bit selects between spi-4 ingress calendar_0 and spi-4 ingress calendar_1. the cal_sel bit is only valid if the i_csw_en bit is set to a logic one. 0=spi-4 ingress calendar_0 is selected 1=spi-4 ingress calendar_1 is selected if the i_csw_en bit is set to a logic one i_low the i_low field selects the spi-4 ingress clock frequency range. 0=spi-4 ingress clock is greater than or equal to 200 mhz 1=spi-4 ingress clock is less than 200 mhz spi-4 ingress status configuration register (block_base 0x0300 + register_offset 0x01) fifo_max_t the spi-4 ingress fifo_max_t field is the maximum time interval between scheduling of training sequences on the fifo status path interface. the units are the number of times the calendar is sent before scheduling the training sequence. alpha_fifo the spi-4 ingress alpha_fifo field is the number of repetitions of the status training sequence that must be scheduled every fifo_max_t cycles. the value for alpha used is actually one more than the alpha_fifo value programmed into the alpha_fifo field. spi-4 ingress status register (block_base 0x0300 + register_offset 0x02) table 90 - spi-4 ingress status configura- tion register (register_offset 0x01) field bits length initial value fifo_max_t 23:0 24 0 alpha_fifo 31:24 8 0 the spi-4 ingress status configuration register is at block_base 0x0300 and has read and write access. the spi-4 ingress status configuration register is used to set the state of the spi-4 ingress fifo status path interface. the bit fields of the spi-4 ingress status configuration register are described. table 91 - spi-4 ingress status register (register_offset 0x02) field bits length initial value i_synch 0 1 0 i_dsk_oor 1 1 0 dclk_av 2 1 0 the spi-4 ingress status register is at block_base 0x0300 and has read-only access. the spi-4 ingress status register is used to set the state of the spi-4 ingress synchronization. the bit fields of the spi-4 ingress status register are described. i_synch the spi-4 ingress i_synch field describes the synchroniza- tion state of the spi-4 ingress data path. 0=spi-4 ingress data path is out of synchronization 1=spi-4 ingress data path is in synchronization i_dsk_oor the spi-4 ingress i_dsk_oor field describes the de-skew state of the spi-4 ingress data path. 0=spi-4 ingress data path de-skew is within range 1= spi-4 ingress data path de-skew is out of range dclk_av the spi-4 ingress dclk_av field describes the availability state of the spi-4 ingress clock. 0=spi-4 ingress clock is not available 1= spi-4 ingress clock is available spi-4 ingress inactive transfer port (block_base 0x0300 + register_offset 0x03) table 92 - spi-4 ingress inactive transfer port (register_offset 0x03) field bits length initial value inact_lp 7:0 8 0 the spi-4 ingress inactive transfer port is at block_base 0x0300 and has read-only access. the spi-4 ingress inactive transfer port inact_lp field is used to monitor the lp associated with the latest inactive transfer. the inact_lp field can change at any time and is used for diagnostics only. inact_lp the spi-4 ingress inact_lp field contains the numeric value of the lp associated with the last inactive lp transfer, used for diagnostics only.
71 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi-4 ingress calendar configuration register (block_base 0x0300 + register_offset 0x04 - 0x05) table 93 - spi-4 ingress calendar configu- ration register (0x04 to 0x05) field bits length initial value i_cal_m 7:0 8 0 i_cal_len 13:8 6 0x01 the spi-4 ingress calendar configuration registers are at block_base 0x0300 and have read and write access. the register_offset for calendar_0 is 0x04. the register_offset for calendar_1 is 0x05. the bit fields of a spi-4 ingress calendar configuration register are described. some devices have a fixed calendar length and a fixed calendar m, while the bridgeport calendar length has to be multiply of 4, and the calendar m is programmable. therefore, the user may need to add an fpga between the bridgeport & the adjacent device spi-4 status signals. i_cal_m the i_cal_m value programmed defines the number of times the calendar sequence is repeated before a dip-2 parity and ?1 1? framing words are inserted. the actual calendar_m value used is one more than the value programmed into the i_cal_m field. i_cal_len the i_cal_len value programmed defines the length of the spi-4 ingress calendar. the actual length of the calendar is four times the value of one more than the i_cal_len field: (i_cal_len + 1)*4. for example, if the i_cal_len field is programmed to 0x04, the actual value used is 0x14. the calendar length must be at least as large as the number of active spi-4 ingress lps. spi-4 ingress watermark register (block_base 0x0300 + register_offset 0x06) spi-4 ingress fill level register (block_base 0x0300 + register_offset 0x07-0x0a) there is one spi-4 ingress fill level register per spi-3 interface at block_base 0x0300. each register has read-only access. the spi-4 ingress fill level register for pfp a is at block_base 0x0300 + register_offset 0x07. the spi-4 ingress fill level register for pfp b is at block_base 0x0300 + register_offset 0x08. the spi-4 ingress fill level register for pfp c is at block_base 0x0300 + register_offset 0x09. the spi-4 ingress fill level register for pfp d is at block_base 0x0300 + register_offset 0x0a. the bit field of a spi-4 ingress fill level register is described. table 94 ? spi-4 ingress watermark regis- ter (register_offset 0x06) field bits length initial value function watermark 4:0 5 0x0d watermark for pfp a reserved 7:5 3 0 watermark 12:6 5 0x0d watermark for pfp b reserved 15:13 3 0 watermark 20:16 5 0x0d watermark for pfp c reserved 23:21 3 0 watermark 28:24 5 0x0d watermark for pfp d reserved 31:29 3 0 spi-4 ingress watermark register is at block_base 0x0300, register_offset 0x06. the spi-4 ingress watermark register has read and write access. a spi- 4 interface can be set to a watermark value per pfp. 0x1f is the highest watermark that can be set, meaning all ingress buffers will be full before backpressure will be initiated on a spi-4 ingress interface pfp. a water- mark field value of 0x0f is used to set a watermark for a half-full ingress buffer before tripping backpressure. the units of watermark are one-thirty- second of the available ingress buffering per unit. each unit is equal to 128 bytes. table 95 - spi-4 ingress fill level register (0x07 to 0x0a) field bits length initial value fill_cur 5:0 6 0x0 table 96 - spi-4 ingress max fill level register (0x0b to 0x0e) field bits length initial value fill_max 5:0 6 0x00 there are four spi-4 ingress max fill level registers, one per spi-3 interface, at block_base 0x0300. each register has read-only access, and is cleared after reading. the value 0x20 is the highest filling level, meaning all ingress buffers on a pfp had been full at some time since the last read of the fill_max field. the units of fill_max are one-thirty-second of the available ingress buffering per pfp. each unit is equal to 128 bytes. the spi-4 ingress max fill level register for pfp a is at block_base 0x0300 + register_offset 0x0b. the spi-4 ingress max fill level register for pfp b is at block_base 0x0300 + register_offset 0x0c. the spi-4 ingress max fill level register for pfp c is at block_base 0x0300 + register_offset 0x0d. the spi-4 ingress max fill level register for pfp d is at block_base 0x0300 + register_offset 0x0e. the bit field of a spi-4 ingress max fill level register is described. fill_max maximum spi-4 ingress buffer fill level since the last read of the spi-4 ingress max fill level register. spi-4 ingress diagnostics register (block_base 0x0300 + register_offset 0x0f) table 97 - spi-4 ingress diagnostics regis- ter (register_offset 0x0f) field bits length initial value i_force_train 0 1 0 i_err_ins 1 1 0 i_dip_num 5:2 4 0 fill_cur current spi-4 ingress buffer fill level. since this is a real-time register, the value read from it will change rapidly and is used for internal diagnostics only. spi-4 ingress max fill level register (block_base 0x0300 + register_offset 0x0b to 0x0e)
72 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 the spi-4 ingress diagnostics register is addressed from block_base 0x0300 + register_offset 0x0f. the spi-4 ingress diagnostics register has read and write access. the spi-4 ingress diagnostics register is used in port diagnostics to force continuous training on the spi-4 ingress status interface, insert a dip-2 error on the spi-4 ingress status interface, and read the number of dip-2 errors seen on the spi-4 egress status interface. i_force_train the i_force_train field is used to force continu- ous training on the spi-4 ingress status interface. 0=normal status channel operation 1=force continuous training on the spi-4 ingress status interface i_err_ins the i_err_ins field is used to insert the number of dip- 2 errors on the spi-4 ingress status interface programmed into the i_dip_num field. after the dip-2 errors are inserted, the i_err_ins field will clear itself. 0=normal status channel operation 1= insert dip-2 errors on the spi-4 ingress status interface i_dip_num the i_dip_num field is used to create the number of dip-2 errors programmed into the i_dip_num field on the spi-4 egress status interface.. spi-4 ingress dip-4 error counter (block_base 0x0300 + register_offset 0x10) spi-4 ingress start up training threshold register (block_base 0x0300 + register_offset 0x12) table 98 - spi-4 ingress dip-4 error counter (register_offset 0x10) field bits length initial value dip_4 15:0 16 0 the spi-4 ingress dip-4 error counter is addressed from block_base 0x0300 + register_offset 0x10. the spi-4 ingress dip-4 error counter has read access, and automatically clears itself after a read. the spi-4 ingress dip- 4 error counter is used in port diagnostics to verify the integrity of the spi-4 ingress data path. dip_4 the dip_4 field is used to read the number of dip-4 errors seen on the spi-4 egress status interface. the dip_4 field saturates at the value 0xffff, and is automatically cleared after reading to re-start dip-4 error counter accumulation. spi-4 ingress bit alignment control register (block_base 0x0300 + register_offset 0x11) table 99 - spi-4 ingress bit alignment control register (register_offset 0x11) field bits length initial value force 0 1 0 the spi-4 ingress bit alignment control register is addressed from block_base 0x0300 + register_offset 0x11. the spi-4 ingress bit alignment control register has read and write access. the spi-4 ingress bit alignment control register is used to overrule the automatically selected bit phase alignments and go to manual mode. in manual mode, the phase_assign field [block_base 0x0800 + register_offset 0x0c ? 0x1f] now defines the selected phase. force the force field is used to manually align the spi-4 ingress data. 0=normal bit alignment operation 1= force to manual bit alignment mode on spi-4 ingress data using the phase_assign field. table 100 - spi-4 ingress s tart up training threshold register (register_offset 0x12) field bits length initial value strt_train 7:0 8 0 table 101 - spi-4 egress lid to lp map (256 entries) field bits length initial value lp 7:0 8 0x00 en 8 1 0b0 there are 256 entries in the spi-4 egress lid to lp map for the spi-4 egress interface. the entries are at block_base 0x0400 + lid. for example, lid 0x00 is at block_base 0x0400 + 0x00. a spi-4 egress lid to lp map has read and write access. a spi-4 egress lid to lp map is used to map a logical identifier used internally to a spi-4 egress logical port. 0x00 - 0x3f of the lid map is for module a lids 0x00 - 0x3f 0x40 - 0x7f of the lid map is for module b lids 0x00 - 0x3f 0x80 - 0xbf of the lid map is for module c lids 0x00 - 0x3f 0xc0 - 0xff of the lid map is for module d lids 0x00 - 0x3f data for an inactive lp having an entry in the calendar is forwarded to lid0. therefore all the lps that have entries in the calendar tables should be enabled. lp the lp programmed is associated to the lid with the same number as the register address. eight bits support the 256 possible lps on the spi-4 physical interface. 256 simultaneously active lps are supported by the IDT88P8344 device. en the en bit is used to enable or disable the connection of a lid to an lp. 0=lp is disabled 1=lp is enabled 9.4.6 common module block base 0x0500 registers spi-4 egress calendar_0 (block_base 0x0500) table 102 - spi-4 egress calendar_0 (256 locations) field bits length initial value lp 7:0 8 0xff the spi-4 egress calendar_0 is at block_base 0x0500 and has read and write access. when the spi-4 egress calendar_0 is selected, calendar_0 is in use. there are 256 entries in the spi-4 egress calendar_0 to schedule the the spi-4 ingress start up training threshold register is addressed from block_base 0x0300 + register_offset 0x12. the spi-4 ingress start up training threshold register has read and write access. the spi-4 ingress start up training threshold register is used to set the number of consecutive training patterns that will lead to out_of_synch on the spi-4 ingress data. if the strt_train field is set to zero, then the out_of_synch feature is disabled. strt_train the strt_train field is used to set the number of consecutive training patterns that will lead to out_of_synch on the spi-4 ingress data interface. 9.4.5 common module block base 0x0400 registers spi-4 egress lid to lp map (block_base 0x0400)
73 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 updating of the fifo status channel lps to the attached device. if less than the maximum 256 lps are needed on the spi-4 interface, the calendar entries should be used for scheduling more frequent status updated for higher-speed lps. the value of time-critical lps must appear multiple times in the table. for example, a multi-phy spi-4 could have oc-48 channels appear in the calendar at four times the rate of oc-12 channels, since the higher data rate of the oc-48 channels would benefit from more frequent fifo status channel updates. the lp field values range from 0x00 to 0xff. the IDT88P8344 and the attached devices must have identical calendars. lp the lp value programmed schedules a status channel update according to the calendar sequence. 9.4.7 common module block base 0x0600 registers spi-4 egress calendar_1 (block_base 0x0600) table 103 - spi-4 egress calendar_1 (256 locations) field bits length initial value lp 7:0 8 0xff the spi-4 egress calendar_1 is at block_base 0x0600 and had read and write access. when the spi-4 egress calendar_1 is selected, calendar_1 is in use. there are 256 entries in the spi-4 egress calendar_1 to schedule the updating of the fifo status channel lps to the attached device. if less than the maximum 256 lps are needed on the spi-4 interface, the calendar entries should be used for scheduling more frequent status updated for higher-speed lps. the value of time-critical lps must appear multiple times in the table. for example, a multi-phy spi-4 could have oc-48 channels appear in the calendar at four times the rate of oc-12 channels, since the higher data rate of the oc-48 channels would benefit from more frequent fifo status channel updates. the lp field values range from 0x00 to 0xff. the IDT88P8344 and the attached devices must have identical calendars. lp the lp value programmed schedules a status channel update according to the calendar sequence. 9.4.8 common module block base 0x0700 registers spi-4 egress configuration register_0 (block_base 0x0700 + register_offset 0x00) the spi-4 egress configuration register_0 is at block_base 0x0700 and has read and write access. the spi-4 egress configuration register_0 is used to set the state of the spi- 4 egress interface. the bit fields of the spi-4 egress configuration register_0 are described. table 104 ? spi-4 egress configuration register_0 (register_offset 0x00) field bits length initial value reserved 2:0 3 0 e_clk_edge 3 1 0 e_dsc 4 1 0 e_insync_thr 9:5 5 0x1f e_outsync_thr 13:10 4 0xf e_csw_en 14 1 0 reserved 15 1 0 e_low 16 1 1 nostat 17 1 0 e_clk_edge the spi-4 egress clock active clock edge is selected using the e_clk_edge field. 0=spi-4 egress clock uses the rising clock edge 1=spi-4 egress clock uses the falling clock edge e_dsc the e_dsc bit enables or disables de-skewing of the spi-4 egress data lines. 0=data de-skewing is disabled 1=data de-skewing is enabled (recommended) e_insync_thr the spi-4 egress dip-2 in-synchronization thresh- old is controlled using the e_insync_thr field. it is recommended to use the initial value. e_outsync_thr the spi-4 egress dip-2 out-of-synchronization threshold is controlled using the e_outsync_thr field. it is recommended to use the initial value. e_csw_en the ingress calendar switch enable bit is used to enable the switching of the active calendars following the reception of the calendar selection word on the status channel. it is recommended to use the initial value. 0=egress calendar switch is disabled. only spi-4 egress calen- dar_0 is used. 1=egress calendar switch is enabled. calendar_0 or calendar_1 will be used. e_low the e_low field selects the spi-4 egress clock frequency range. 0=spi-4 egress clock is greater than or equal to 200 mhz 1=spi-4 egress clock is less than 200 mhz nostat the nostat bit enables the no status channel option. once nostat is set, the status channel is ignored. there is no dip-2 error checking, and no status channel updating. the received status is fixed to starving. the data channel is put into the in_synch state. 0=normal status channel operation 1=no status channel option is selected spi-4 egress configuration register_1 (block_base 0x0700 + register_offset 0x01) table 105 - spi-4 egress configuration register_1 (register_offset 0x01) field bits length initial value data_max_t 23:0 24 0 alpha 31:24 8 0 the spi-4 egress configuration register_1 is at block_base 0x0700 and has read and write access. the spi-4 egress configuration register_1 is used to set the state of the spi- 4 egress fifo status path interface. the bit fields of the spi-4 egress configuration register_1 are described. data_max_t the spi-4 egress data_max_t field is the maximum time interval between scheduling of training sequences on the egress data path interface. the purpose of the data training interval is to allow the de-skewing of plus or minus one bit time on the egress data interface if needed. the time is set for the data_max_t field multiplied by 128 cycles.
74 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 alpha the spi-4 egress alpha field is the number of repetitions of the data training sequence that must be scheduled every data_max_t cycles. the value for alpha used is actually one more than the alpha value programmed into the alpha field. spi-4 egress status register (block_base 0x0700 + register_offset 0x02) e_cal_m the e_cal_m value programmed defines the number of times the calendar sequence is repeated before a dip-2 parity and ?1 1? framing words are inserted. the actual calendar_m value used is one more than the value programmed into the e_cal_m field. e_cal_len the e_cal_len value programmed defines the length of the spi-4 egress calendar. the actual length of the calendar is four times one more than the value programmed into the e_cal_len field. for example, if the e_cal_len field is programmed to 0x3f, the actual value used is 0x100. the resulting calendar length must be at least as large as the number of active spi-4 egress lps. spi-4 egress diagnostics register (block_base 0x0700 + register_offset 0x05) table 106 - spi-4 egress status register (register_offset 0x02) field bits length initial value e_synch 0 1 0 e_dsk_oor 1 1 0 sclk_av 2 1 0 spi-4 egress status register the spi-4 egress status register is at block_base 0x0700 and has read-only access. the spi-4 egress status register is used to set the state of the spi-4 egress synchronization. the bit fields of the spi-4 egress status register are described. e_synch the spi-4 egress e_synch field describes the synchro- nization state of the spi-4 egress data path. 0=spi-4 egress data path is out of synchronization 1=spi-4 egress data path is in synchronization e_dsk_oor the spi-4 egress e_dsk_oor field describes the de- skew state of the spi-4 egress data path. 0=spi-4 egress data path de-skew is within range 1=spi-4 egress data path de-skew is out of range sclk_av the spi-4 egress sclk_av field describes the availability state of the spi-4 egress status channel clock. this function is not available if sclk < 0.5 mclk.. 0=spi-4 egress status channel clock is not available 1=spi-4 egress status channel clock is available spi-4 egress calendar configuration register (block_base 0x0700 + register_offset 0x03 - 0x04) table 107 - spi-4 egress calendar configu- ration register (register_offset 0x03 - 0x04) field bits length initial value e_cal_m 7:0 8 0 e_cal_len 13:8 6 0x01 the spi-4 egress calendar configuration registers are at block_base 0x0300 and has read and write access. the register_offset for calendar_0 is 0x03. the register offset for calendar_1 is 0x04. the bit fields of the spi-4 egress calendar configuration register are described. the IDT88P8344 calendar length can be programmed to any multiple of 4 using suitable values for the calendar entries, calendar length and calendar m. if the adjacent device is unable to configure its calendar to be a multiple of 4, conversion logic may be needed between the adjacent device spi-4 status signals and the 88p8344 signals. table 108 ? spi-4 egress diagnostics regis- ter (register_offset 0x05) field bits length initial value e_force_train 0 1 0 e_err_ins 1 1 0 e_dip_num 5:2 4 0 bit_delay 7:6 2 0 the spi-4 egress diagnostics register is addressed from block_base 0x0700 + register_offset 0x05. the spi-4 egress diagnostics register has read and write access. e_force_train the e_force_train field is used to force continu- ous training on the spi-4 egress status interface. 0=normal status channel operation 1=force continuous training on the spi-4 egress status interface e_err_ins the e_err_ins field is used to insert the number of dip- 4 errors on the spi-4 egress data interface that have been programmed into the e_dip_num field. after the dip-4 errors are inserted, the e_err_ins field will clear itself. 0=normal status channel operation 1= insert dip-4 errors on the spi-4 egress data interface e_dip_num the e_dip_num field is used to create dpi-4 errors on the spi-4 egress data interface. the number of errors generated is equal to the value of the e_dip_num field. bit_delay the bit_delay field is used to delay spi-4 egress data bit line 0 by the number of bits programmed into the bit_delay field. this may be used for diagnostics. spi-4 egress dip-2 error counter (block_base 0x0700 + register_offset 0x06) table 109 - spi-4 egress dip-2 error counter (register_offset 0x06) field bits length initial value dip_2 15:0 16 0 the spi-4 egress dip-2 error counter is addressed from block_base 0x0700 + register_offset 0x06. the spi-2 egress dip-2 error counter has read access, and automatically clears itself after a read. the spi-4 egress dip-2 error counter is used in port diagnostics to verify the integrity of the spi-4 egress status channel.
75 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 dip_2 the dip_2 field is used to read the number of dip-2 errors seen on the spi-4 egress status interface. the dip_2 field saturates at the value 0xffff, and is automatically cleared after reading to re-start dip-2 error counter accumulation. 9.4.9 common module block base 0x0800 registers spi-4 ingress bit alignment window register (block_base 0x0800 + register_offset 0x00) the spi-4 ingress bit alignment window register is addressed from block_base 0x0800 + register_offset 0x00. the spi-4 ingress bit alignment window register has read and write access. the spi-4 ingress bit alignment window register is used in manual bit alignment procedures and it is recommended to leave the w field at its initial value. w the w field is used to define the width of the spi-4 ingress bit alignment observation window by setting the time between bit alignment operations. spi-4 ingress lane measure register (block_base 0x0800 + register_offset 0x01) the spi-4 ingress lane measure register is addressed from block_base 0x0800 + register_offset 0x01. the spi-4 ingress lane measure register has read and write access. spi-4 ingress lane measure register is used in manual bit alignment procedures and it is recommended to leave the spi-4 ingress lane measure register at its initial value. lane the lane field is used to manually control the measurement of spi- 4 ingress data lane alignment. the lane field is intended for diagnostics only and is not needed in normal operation. 0=data0 lane selected for measurement x=datax lane selected for measurement 15=data15 lane selected for measurement 16=ctl selected for measurement 17=egress status 0 selected for measurement 18=egress status 1 selected for measurement 19=chip test feature not available for diagnostics measure_busy the measure_busy field is used to observe when the lane process is busy for manual lane assignment procedures. the measure_busy field is intended for diagnostics only and is not needed for normal operation. 0=normal operation 1=lane process is busy spi-4 ingress bit alignment counter register (block_base 0x0800 + register_offset 0x02 ? 0x0b) the spi-4 ingress bit alignment counter registers at block_base 0x0800 are read-only and contains the values of the bit alignment counters used for manual lane alignment . the registers are intended for diagnostics only and are not needed in normal operation. spi-4 ingress manual alignment phase/result register (block_base 0x0800 + register_offset 0x0c ? 0x1f) the spi-4 ingress manual alignment phase/result registers at block_base 0x0800 have read and write access. a spi-4 ingress manual alignment phase/ result register is used to manually align the phase of the data lane, control lane, status lanes, and a test lane corresponding to its register in turn and is intended for diagnostics only and is not needed in normal operation. if the force field of table 99, spi-4 ingress bit alignment control register (register_offset 0x11) is set to a logic one, manual phase alignment is enabled. if the force field is set to a logic zero, normal automatic phase alignment is enabled, and the result can be viewed here. there are five center taps to choose from, plus two guard taps on either side of the center, per data bit sampled. the oldest data sample is at tap 8 ("right"), while the newest data sample is at tap 0 ("left"). taps 0 and 1 are the left margin taps for tracking purposes, while taps 7 and 8 are the right margin taps. a tap between 2 to 7 is initially selected in automatic mode. see figure 7-data sampling diagram. register 0x0c is used for lane data0. phase_assign [3:0] used for selecting the bit phase corresponding to the rising clock edge of i_dclk. the four bits number the phases from 0 to 8, relative to the positively- clocked bit. phase_assign [7:4] used for selecting the bit phase corresponding to the falling clock edge of i_dclk. the four bits number the phases from 0 to 8, relative to the negatively- clocked bit. spi-4 egress data lane timing register (block_base 0x0800 + register_offset 0x2a) table 110 - spi-4 ingress bit alignment window register (register_offset 0x00) field bits length initial value lane 4:0 5 0 reserved 7:5 3 0 measure_busy 8 1 0 table 111 - spi-4 ingress lane measure register (register_offset 0x01) field bits length initial value w 15:0 16 0xffff table 112 - spi-4 ingress bit alignment counter register (0x02 to 0x0b) field bits length initial value c[n] 9:0 10 0 table 113 - spi-4 ingress manual alignment phase/result register (0x0c to 0x1f) field bits length initial value dtc0[1:0] 1:0 2 0 dtc1[1:0] 3:2 2 0 ?..20 dtc15[1:0] 31:30 2 0 table 114 - spi-4 egress data lane timing register (register_offset 0x2a) the spi-4 egress data lane timing register at block_base 0x0800 + register_offset 0x2a has read and write access. the spi-4 egress data lane field bits length initial value phase_assign 7:0 8 0
76 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 timing register is used to manually align the phase of data lane n by adding from 0.1 clock cycle to 0.3 clock cycles of delay. dtcn [1:0] used for adding 0.1 clock cycle units of output delay to spi- 4 egress data lane n. [1:0]=0=no added delay [1:0]=1=add 0.1 clock cycle of delay to data lane n [1:0]=2=add 0.2 clock cycles of delay to data lane n [1:0]=3=add 0.3 clock cycles of delay to data lane n spi-4 egress control lane timing register (block_base 0x0800 + register_offset 0x2b) spi-4 egress status timing register (block_base 0x0800 + register_offset 0x2d) the spi-4 egress status clock timing register at block_base 0x0800 + register_offset 0x2e has read and write access. the spi-4 egress status clock timing register is used to manually align the phase of the spi-4 egress status clock to the status outputs by adding from 0.1 clock cycle to 0.9 clock cycles of delay to the status clock output. note that tap selection is not monotonic with the number in bit field [3:0]. the sctc[3:0] field is valid only for lvds status, not for lvttl status. sctc [3:0] used for adding 0.1 unit intervals of output delay to the spi- 4 egress status clock output. [3:0]=0=no added delay [3:0]=1=add 0.1 clock cycle of delay t o the spi-4 egress status clock [3:0]=3=add 0.2 clock cycles of delay to the spi-4 egress status clock [3:0]=2=add 0.3 clock cycles of delay to the spi-4 egress status clock [3:0]=7=add 0.4 clock cycles of delay to the spi-4 egress status clock [3:0]=6=add 0.5 clock cycles of delay to the spi-4 egress status clock [3:0]=4=add 0.6 clock cycles of delay to the spi-4 egress status clock [3:0]=5=add 0.7 clock cycles of delay to the spi-4 egress status clock [3:0]=f=add 0.8 clock cycles of delay to the spi-4 egress status clock [3:0]=e=add 0.9 clock cycles of delay to the spi-4 egress status clock table 115 - spi-4 egress control lane timing register (register_offset 0x2b) field bits length initial value ctltc[1:0] 1:0 2 0 table 116 - spi-4 egress data clock timing register (register_offset 0x2c) field bits length initial value dctc[3:0] 3:0 4 0 the spi-4 egress control lane timing register at block_base 0x0800 has read and write access. the spi-4 egress control lane timing register is used to manually align the phase of the control lane by adding from 0.1 clock cycle to 0.3 clock cycles of delay. ctltc [1:0] used for adding 0.1 clock cycle units of output delay to the spi-4 egress control output. [1:0]=0=no added delay [1:0]=1=add 0.1 clock cycle of delay to the control output [1:0]=2=add 0.2 clock cycles of delay to the control output [1:0]=3=add 0.3 clock cycles of delay to the control output spi-4 egress data clock timing register (block_base 0x0800 + register_offset 0x2c) table 117 - spi-4 egress status timing register (register_offset 0x2d) field bits length initial value stc0[1:0] 1:0 2 0 stc1[1:0] 3:2 2 0 table 118 - spi-4 egress status clock tim- ing register (register_offset 0x2e) field bits length initial value sctc[3:0] 3:0 4 0 the spi-4 egress status timing register at block_base 0x0800 + register_offset 0x2d has read and write access. the spi-4 egress status timing register is used to manually align the phase of the status lane n by adding from 0.1 clock cycle to 0.3 clock cycles of delay. the stc0[1:0] and stc0[1:0] fields are valid only for lvds status, not for lvttl status. stcn [1:0] used for adding 0.1 clock cycle units of output delay to spi- 4 egress status lane n. [1:0]=0=no added delay [1:0]=1=add 0.1 clock cycle of delay to status lane n [1:0]=2=add 0.2 clock cycles of delay to status lane n [1:0]=3=add 0.3 clock cycles of delay to status lane n spi-4 egress status clock timing register (block_base 0x0800 + register_offset 0x2e) the spi-4 egress data clock timing control register at block_base 0x0800 has read and write access. the spi-4 egress data clock timing control register is used to manually align the phase of the spi-4 egress data clock to the data and control lanes by adding from 0.1 clock cycle to 0.9 clock cycles of delay to the data clock output. note that tap selection is not monotonic with the number in bit field [3:0]. dctc [3:0] used for adding 0.1 clock cycle units of output delay to the spi-4 egress data clock. [3:0]=0=no added delay [3:0]=1=add 0.1 clock cycle of delay to the spi-4 egress data clock [3:0]=3=add 0.2 clock cycles of delay to the spi-4 egress data clock [3:0]=2=add 0.3 clock cycles of delay to the spi-4 egress data clock [3:0]=7=add 0.4 clock cycles of delay to the spi-4 egress data clock [3:0]=6=add 0.5 clock cycles of delay to the spi-4 egress data clock [3:0]=4=add 0.6 clock cycles of delay to the spi-4 egress data clock [3:0]=5=add 0.7 clock cycles of delay to the spi-4 egress data clock [3:0]=f=add 0.8 clock cycles of delay to the spi-4 egress data clock [3:0]=e=add 0.9 clock cycles of delay to the spi-4 egress data clock
77 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 122 - oclk and mclk frequency select encoding n_mclk & n_oclk[k] frequency selects frequency 00 pll_oclk / 4 01 pll_oclk / 6 10 pll_oclk / 8 11 pll_oclk / 10 table 121 - clock generator control register (register_offset 0x10) field bits length initial value oclk0_en 0 1 0b01 n_oclk0 2:1 2 0b11 reserved 3 1 0b0 oclk1_en 4 1 0b1 n_oclk1 6:5 2 0b11 reserved 7 1 0b0 oclk2_en 8 1 0b1 n_oclk2 10:9 2 0b11 reserved 11 1 0b0 oclk3_en 12 1 0b1 n_oclk3 14:13 2 0b11 reserved 16:15 2 0b0 n_mclk 18:17 2 0b11 9.4.10 common module block base 0x0900 registers pmon timebase control register (block_base 0x0900 + register_offset 0x00) field bits length initial value internal 0 1 0b0 timer 1 1 0b0 manual 2 1 0b0 table 119 - pmon timebase control regis- ter (register_offset 0x00) a single pmon timebase module is available in the IDT88P8344. the pmon timebase module directs a timebase event to all pmon modules in the device. the timebase period can be internally or externally generated. the selection is made by the internal flag in the pmon update control register. a snapshot of the counters is taken when the timebase expires and the counters are cleared. the pmon update control register is at common module 0x8000 + block_base 0x0900 + register_offset 0x00 = 0x8900 and has read and write access. internal selects between internal or external timebases for perfor- mance monitoring. the internal timebase is either generated by the internal processor or by a free running timer. the selection is made by the timer flag in the pmon update control register. when the time interval expires, the timebase pin is asserted for sixteen mclk cycles. the timebase event is captured by the timebase status in the support interrupt status register. 0= external timebase from the timebase pin is selected. the externally generated timebase signal is applied to the timebase pin. a positive edge detector generates the timebase event. 1=internal timebase is selected. when the time interval expires, the timebase pin is driven high for sixteen mclk cycles. timer selects between the internal free-running timebase or a micropro- cessor-controlled write to generate the timebase event. the timer field is valid only when the internal field is a logic one. 0=selects the microprocessor generated timebase 1=selects the internal free-running timebase manual the microprocessor generates an internal timebase event by a write access with a logical one to the manual flag in the pmon update control register if the microprocessor timebase is selected. the manual bit is self-clearing. the manual field is only valid if the timer field is a logic zero. 0=no operation 1=a timebase event is generated timebase register (block_base 0x0900 + register_offset 0x01) clock generator control register (block_base 0x0900 + register_offset 0x010) the clock generator control register is at common module block_base 0x0900 + register_offset 0x010. the clock generator provides four clock outputs on the oclk[3:0] pins, mclk for internal use, and spi-4 data and fifo status channel egress clocks. the oclk[3:0] clock frequencies can be selected independently of each other. oclk[3:0] outputs can be used as spi-3 clock sources. the oclk[3:0] pins are separately enabled by setting each associated enable flag in table 121 - clock generator control register (register_offset 0x10). when an oclk[3:0] output is not enabled, it is in a logic low state. mclk is the internal processing clock, and is always enabled. refer to table 122 - oclk and mclk frequency select encoding, for selecting the frequencies of mclk and oclks. during either a hardware or a software reset, the oclk[3:0] pins are all logic low. immediately following reset, all oclk[3:0] outputs are active with the output frequency defined by pll_oclk divided by the initial value in the table 121 - clock generator control register (block_base 0x0900 + register_offset 0x10). the clock generator control register at indirect address 0x8910 has read and write access. the clock generator control register is used to set the frequency of mclk and the oclk outputs, as well as to enable the oclk outputs. note that divider values should be chosen so that oclk[3:0] and mclk are within their specified operating range provided in table 136, oclk[3:0] clock outputs and mclk internal clock. oclk[k]_en used for enabling the kth oclk output 0=oclk[k] is not enabled and oclk[k] is at a logic zero 1=oclk[k] is enabled and active n_oclk[k] [1:0] select the oclk[k] frequency according to table 122- oclk and mclk frequency select encoding. n_mclk[k] select the mclk frequency according to table 122-oclk and mclk frequency select encoding. reserved 31:19 13 0 the timebase register is at block_base 0x0900 + register_offset 0x01 and has read and write access. the timebase period for free-running timers is configured by the period field in the timebase register. the period field specifies the number of mclk clock cycles required for a single event. the period field is only valid if both the internal and timer fields are a logic one. field bits length initial value period 26:0 27 0x4a2 8600 table 120 - timebase register (register_offset 0x01)
78 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 table 125 - version number register (register_offset 0x30) field bits length initial value version 7:0 8 0x01 id 15:8 8 0xf9 general purpose i/o (block_base 0x0900 + register_offset 0x20) table 123 - gpio register (register_offset 0x20) field bits length initial value address 15:0 16 0x0000 reserved 23:16 8 0x00 bit 28:24 5 0x00 reserved 31:29 3 0x0 table 124 - gpio monitor table (5 entries 0x21-0x25 for gpio[0] through gpio[4]) field bits length initial value dir_out 4:0 5 0x00 reserved 7:5 3 0x0 level 12:8 5 0x00 reserved 15:13 3 0x0 monitor_en 20:16 5 0x00 a bit in the indirect access space can be selected for monitoring by the address and bit fields in the gpio monitor table. the gpio monitor table for gpio[0] is at common_module 0x8000+ block_base 0x0900 + register_offset 0x21 = 0x8921. the gpio monitor table for gpio[1] is at common_module 0x8000+ block_base 0x0900 + register_offset 0x22 = 0x8922. the gpio monitor table for gpio[2] is at common_module 0x8000+ block_base 0x0900 + register_offset 0x23 = 0x8923. the gpio monitor table for gpio[3] is at common_module 0x8000+ block_base 0x0900 + register_offset 0x24 = 0x8924. the gpio monitor table for gpio[4] is at common_module 0x8000+ block_base 0x0900 + register_offset 0x25 = 0x8925. address[15:0] used for configuring the indirect address select when the gpio pins are put into monitor mode. bit[4:0] used for selecting the register bit (1 of 32) for a gpio put into monitor mode. bit[4:0]=0x00 selects data bit 0. ? bit[4:0]=0x1f selects data bit 31. version number register (common module block_base 0x0900 + register_offset 0x30) the version number register is a read-only sixteen-bit register at common_module 0x8000 + block_base 0x0900 + register_offset 0x30 = 0x8930 in the indirect register access space. the version number register contains hard-coded values that can be read to verify the microprocessor read path is correct, and that the correct part is installed. version the hardware version is read from this field. id the hardware identification is read from this field. five general purpose i/o pins are provided. each pin i/o direction is controlled by the dir_out field in the gpio register. the logical level on a gpio pin is controlled by the level field in the gpio register if dir_out=1 (pin=output), or sensed if dir_out=0 (pin=input). optionally, the level bit can monitor the logic level of any bit selected from the indirect access space if monitor_en is set high. with monitor_en set high, bits in the indirect access space can be selected for monitoring by the address and bit fields in the gpio monitor table. the general purpose i/o registers are at common module block_base 0x0900 and have read and write access. dir_out[4:0] used for configuring each gpio pin as either an input or an output 0=gpio pin is an input 1=gpio pin is an output level[4:0] used for sensing or driving each gpio pin 0=gpio pin is sensed as a logic zero if an input , or driven to a logic zero if an output 1=gpio pin is sensed as a logic one if an input , or driven to a logic one if an output monitor_en [4:0] used for enabling the monitor output function for each gpio pin. gpio pins used as monitors must also be configured to be outputs. all gpio pins must be used as either monitors or as normal i/o; no mixing of the monitoring function and the normal i/o function is permitted. 0=gpio pin is used as an i/o pin 1=gpio pin is used as a monitor pin gpio monitor table (block_base 0x0900 + register_offset 0x21 - 0x25)
79 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 code instruction function 000 extest jtag function 001 idcode jtag function 010 sample jtag function 011 clamp jtag function 100 highz jtag function 101 private private function 111 bypass jtag function table 126 ? jtag instructions 10. jtag interface the device supports the optional trst input signal. it supports a tck clock frequency up to 10mhz. version field equals 0 jtag id #0x044f manufacturer id 0x033 last bit is 1. parameter symbol conditions min. (1) max. (1) unit core digital supply voltage v ddc18 v ss =0, av ss =0, t j =25 c -0.3 2.2 v i/o digital supply voltage v ddt33 -0.3 4.6 v analog supply voltage v dda18 -0.3 3.6 v analog supply voltage v dda33 -0.3 3.6 v i/o input voltage for cmos vinl -0.5 6.0 v i/o input voltage for lvttl vinl -0.5 6.0 v i/o output voltage vout -0.5 4.6 v latch-up current i o - 100 ma esd performanc e (hbm) - 2000 v ambient operating temperature t a (industrial) -40 +85 c ambient operating temperature t a (commercial) 0 +70 c storage temperature t s -65 +150 c 11.1 absolute maximum ratings 11. electrical and thermal specifications note: 1. functional and tested operating conditions are given in table absolute maximum ratings are stress ratings only, and functiona l operation at the maximum is not guaranteed. stresses beyaond those listed may affect device reliability or cause permament damage to the device. table 127 ? absolute maximum ratings parameter symbol conditions min. typ. max. unit core digital supply voltage v ddc18 v ss =0 1.68 1.8 1.96 v i/o digital supply voltage v ddt33 v ss =0 3.0 3.3 3.6 v analog supply voltage v dda18 v ss =0 1.68 1.8 1.96 v analog supply voltage v dda33 v ss =0 3.0 3.3 3.6 v ambient operating temperature t a (industrial) -40 25 +85 c ambient operating temperature t a (commercial) 0 25 +70 c junction temperature t j - - +110 c table 128 ? recommended operating conditions 11.2 recommended operating conditions
80 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 parameter symbol conditions min. typ. max. unit input capacitance c i measured at vin=vout=v ss -- 8pf load capacitance c o ta=25 c--20pf load capacitance for oclk c o --30pf [3:0] signals load capacitance for c o - - 100 pf microprocessor interface 11.3 terminal capacitance table 129 ? terminal capacitance parameter symbol conditions value typical power dissipation total p t ta=25 c 4.0w typical power dissipation from 1.8v p vdd18 ta=25 c 2.1w typical power dissipation from 3.3v p vdd33 ta=25 c 1.9w thermal resistance (junction to case) jc 4.5 c/w thermal resistance (junction to board) jb 4.1 c/w thermal resistance (ambient) ja air flow 0.0m/s 15.4 c/w air flow 1.0m/s 11.7 c/w air flow 2.0m/s 10.2 c/w table 130 ? thermal characteristics 11.4 thermal characteristics
81 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 11.5 dc electrical characteristics parameter description min. typ. max. unit test conditions cmos i/o v il input low voltage -0.3 ? 0.8 v v ih input high voltage 2.0 ? v d33 +0.3 v v ol output low voltage v ss ? 0.4 v v d33 =min, i ol = max_load (note 1) v oh output high voltage 2.4 ? v d33 vv d33 =min, i oh = max_load (note 1) v resetbh resetb reset input high voltage 1.47 ? ? v v resetbl resetb reset input low voltage ? ? 0.95 v v resetbhyst resetb reset input hysteresis voltage 0.53 ? ? v i ilpu input low current (with pullups) -100 -50 -4 a v il =v ss i ilpu input high current (with pullups) -10 0 +10 a v il =v d33 i il input low current (without pullups) -10 0 +10 a v il =v ss i ih input high current (without pullups) -10 0 +10 a v ih =v d33 i oz off state output current -10 0 +10 a v d33 =max lvttl i/o v il input low voltage -0.3 ? 0.8 v v ih input high voltage 2.0 ? v d33 +0.3 v v ol output low voltage v ss ? 0.4 v v d33 =min, i ol = 8ma v oh output high voltage 2.4 ? v d33 vv d33 =min, i oh = -8ma i l input current -5 0 +5 a v d33 =max i oz off state output current -10 0 +10 a v d33 =max spi-4 lvds i/o input cha racteristics v in input voltage range, v p or v n 0 ? 2400 mv |v gpg | < 925 mv |v idth | differential voltage required to toggle input 100 ? ? mv |v gpg | < 925 mv v hyst input differential hysteresis, v idthh - v idthl 25 ? ? mv r in input differential impedance 90 100 110 ohms p to n input output characteristics v ol output low voltage, v p or v n 925 ? ? mv r diff_term = 100 v oh output high voltage, v p or v n ? ? 1475 mv r diff_term = 100 v os output offset voltage 1125 ? 1375 mv r diff_term = 100 delta v os change in v os between ?0? and ?1? ? ? 25 mv r diff_term = 100 |v od | output differential voltage 250 ? 450 mv r diff_term = 100 | delta v od | change in |v od | between ?0? and ?1? 50 (dc) ? 150 (ac) mv r diff_term = 100 ro output single-ended impedance 40 100 140 ohms delta r o ro mismatch between p and n ? ? 10 % i sp , i sn output short circuit current ? ? 40 ma p or n output shorted to v ss i spn output short circuit current ? ? 12 ma p and n outputs shorted together |i xp |, |i xn | power-off output leakage ? ? 10 av d33 = v ss note : 1. maximum load = 8 ma for microprocessor data bus dbus[7:0]; maximum load= 4 ma for all other cmos outputs. table 131 ? dc electrical characteristics
82 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 11.6 ac characteristics 11.6.1 spi-3 i/o timing refer to [spi-3 in glossary] for logical timing diagrams of the spi-3 and spi- 4 interfaces. note that underclocking and overclocking for the spi-4 and spi- 3 interfaces is supported. figure 35. spi-3 i/o timing diagram spi-3 input / output spi-3 input and output timing is shown in the following paragraph. i_fclk, e_fclk unit min. typ. max. description duty cycle % 30 ? 70 input spi-3 clock duty cycle frequency mhz mclk/4 ? 133 i_fclk, e_fclk tr, tf ns ? ? 2 rise fall time ( 20%, 80% ) all outputs td ns 2.33 ? 5.65 output delay after e_fclk tr, tf ns ? ? 2 rise fall time ( 20%, 80% ) all inputs tsu ns 1 ? ? input setup before i_fclk th ns 0.65 ? ? input hold after i_fclk table 132 ? spi-3 ac input / output timing specifications 6370 drw05 i_fclk, e_fclk spi3_i_dat spi3_e_dat tsu th t d
83 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 11.6.2 spi-4 lvds input / output spi-4 input and output timing is shown in the following paragraph. double data rate protocol is used for data and status transfer. the spi-4 lvds signals use a dynamic data alignment at the ingress. figure 36. spi-4 i/o timing diagram 6370 drw06 spi4_i_dclk, spi4_e_dclk spi4_i_dat, spi4_e_stat tsu th t d spi4_e_dat, spi4_i_stat tsu th t d
84 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 inputs unit min. typ. max. description duty cycle % 45 50 55 i_dclk ingress clock duty cycle frequency (ddr) mhz 80 ? 200 ingress clock frequency, i_low=1 frequency (ddr) mhz 200 311 400 ingress clock frequency, i_low=0 tr, tf ps 300 ? 500 input rise or fall time ( 20%, 80% ) deskew ui ? ? +/- 1 bit line deskew outputs duty cycle % 45 50 55 e_dclk egress clock duty cycle frequency (ddr) mhz 80 ? 200 egress clock frequency, e_low=1 frequency (ddr) mhz 200 311 400 egress clock frequency, e_low=0 tr, tf ps 300 ? 500 output rise or fall time ( 20%, 80% ) tskew ps ? ? 50 output differential skew, p to n synth jitter ui ? ? 0.1 pll jitter as a fraction of the clock cycle td ns ? ? ? adjustable table 133 ? spi-4.2 lvds ac input / output timing specifications ref_clk unit min. typ. max. duty cycle % 30 50 70 ref_clk clock input duty cycle f ref_clk mhz 12.5 19.44 25 main reference clock input t r , t f ns ? ? 5 rise fall time ( 20%, 80% ) 11.6.4 ref_clk clock input 11.6.5 mclk internal clock and oclk[3:0] clock outputs oclk[3:0] unit min. typ. max. description duty cycle % 45 50 55 oclk[3:0] outputs, clock duty cycle frequency mhz 40 104 133 oclk[3:0], programmable output skew one pll_oclk cycle of deliberate between oclks skew between each oclk[3:0] t r , t f ns 1 2 oclk[3:0] rise, fall time (20%,80%) mclk frequency mhz 80 ? 100 programmable 11.6.6 microprocessor interface all outputs unit min. typ. max. description t r , tf ns 10 rise, fall time (20%, 80%) all inputs t r , t f ns 10 rise, fall time (20%,80%) parameter symbol conditions min typ max unit spi-4 lvttl status (1) stat_t[1:0] to sclk_t setup time t su 2ns sclk_t to stat_t [1:0] hold time t h 0.5 ns sclk_t to stat_t [1:0] delay t d 1 1.2 ns 11.6.3 spi-4 lvttl status ac characteristics table 134 ? spi-4 lvttl status ac characteristics table 135 ? ref_clk clock input table 136 ? oclk[3:0] clock outputs and mclk internal clock table 137 ? microprocessor interface note: 1. for the spi-4 lvttl valid, hold & setup the edge is configurable. the spi-4 ingress lvttl status clock active edge is configured by i_clk_edge field in table 89-spi-4 ingress configuration register on page 69. the spi-4 egress lvttl status clock active edge is configured by e_clk_edge field in table 104-spi-4 egress configuration register on page 73.
85 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 figure 37. microprocessor parallel port motorola read timing diagram 6370 drw07 valid address read dbus[7:0] valid data t recovery add[5:0] r/wb dsb + csb t dw t rc t rwh t rwv t av t adh t prd t daz 11.6.6.1 microprocessor parallel port ac timing specifications be sure to connect spi_en to a logic low when using the parallel p interface mode. read cycle specification motorola non-multiplexed (mpm=0) symbol parameter min max unit t internal main clock period (mclk) 80 100 mhz t rc read cycle time 5.5t+25 ns t dw valid dsb width 5.5t+20 ns t rwv delay from dsb to valid read signal t/2-4 ns t rwh r/wb to dsb hold time 2t+10 ns t av delay from dsb to valid address t/2-4 ns t adh address to dsb hold time 2t+10 ns t rpd dsb to valid read data propagation delay 5.5t+20 ns t daz delay from read data active to high z 12 ns trecovery recovery time from read cycle 5 ns table 138 ? microprocessor parallel port motorola read timing
86 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 figure 38. microprocessor parallel port motorola write timing diagram 6370 drw08 valid address dsb + csb r/wb valid data t recovery add[5:0] write dbus[7:0] t rwh t dw t wc t rwv t ah t av t dv t dhw write cycle specification motorola non-multiplexed (mpm=0) symbol parameter min max unit t internal main clock period (mclk) 80 100 mhz t wc write cycle time 2.5t+17 ns t dw valid dsb width 2.5t+12 ns t rwv delay from dsb to valid write signal t/2-4 ns t rwh r/wb to dsb hold time 2.5t+12 ns t av delay from dsb to valid address t/2-4 ns t ah address to dsb hold time 2.5t+12 ns t dv delay from dsb to valid write data t/2-4 ns t dhw write data to dsb hold time 2.5t+12 ns trecovery recovery time from write cycle 5 ns table 139 ? microprocessor parallel port motorola write timing
87 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 6370 drw09 valid address csb + rdb t recovery t rc t rdw t daz t av t rpd valid data add[5:0] read dbus[7:0] read cycle specification intel non-multiplexed bus (mpm=1) symbol parameter min max unit t internal main clock period (mclk) 80 100 mhz t rc read cycle time 5.5t+25 ns t rdw valid rdb width 5.5t+20 ns t av delay from rdb to valid address t/2-4 ns t ah address to rdb hold time 2.5t+12 ns t rpd rdb to valid read data propagation delay 5.5t-20 ns t daz delay from read data active to high-z 12 ns trecovery recovery time from read cycle 5 ns note : 1. wrb should be tied to high. figure 39. microprocessor parallel port intel mode read timing diagram table 140 ? microprocessor parallel port intel mode read timing
88 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 6370 drw10 valid address t recovery t wc t wrw t ah t av t dhw t dv write dbus[7:0] add[5:0] wrb + csb write cycle specification intel non-multiplexed bus (mpm=1) symbol parameter min max unit t internal main clock period (mclk) 80 100 mhz t wc write cycle time 2.5t+19 ns t wrw valid wrb width 2.5t+14 ns t av delay from wrb to valid address t/2-2 ns t ah address to wrb hold time 2.5t+12 ns t dv delay from wrb to valid write data t/2-2 ns t dhw write data to wrb hold time 2.5t+12 ns trecovery recovery time from read cycle 5 ns note : 1. rdb should be tied to a logic one. figure 40. microprocessor parallel port intel mode write timing diagram table 141 ? microprocessor parallel port intel mode write timing
89 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 6370 drw11 sclk t csh high impedance valid input t cld t csd t cll t clh t css t dis t dih t pd valid output t df high impedance sdi sdo csb 11.6.6.2 serial microprocessor interface (serial peripheral interface mode) timing characteristics the maximum spi data transfer clock frequency is 2 mhz. the detail information of the timing characteristics is shown in below and timing diagram is shown in figure 41, microprocessor serial peripheral interface timing diagram . symbol description min. max. unit f op sclk frequency 2.0 mhz f csh minimum csb high time 100 ns t css csb setup time 50 ns t csd csb hold time 100 ns t cld sclk clock disable time 50 ns t clh sclk clock high time 205 ns t cll sclk clock low time 205 ns t dis sdi data setup time 50 ns t dih sdi data hold time 150 ns t pd sdo output delay 150 ns t df sdo output disable time 50 ns figure 41. microprocessor serial peripheral interface timing diagram table 142 ? microprocessor serial peripheral interface timing
90 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 12.1 device overview pbga (bh820-1, order code: bh) top view 12. mechanical characteristics 12345678910111213141516171819202122232425262728293031323334 a a b b c c d d e e f f g g h h j j k k l l m m n n p p r r t t u u v v w w y y aa aa ab ab ac ac ad ad ae ae af af ag a g ah ah aj aj ak ak al al am a m an an ap ap 12345678910111213141516171819202122232425262728293031323334 vdd vdda33 vdda18 vd33 sp i 3_ i n g ress spi3_e g ress vssa18 vss spi4_in g ress sp i 4_e g ress pr o cess o r t es t , c o nf i g , m i sc 6370 drw04
91 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi3b_e_dat[21] a4 spi3b_e_dat[20] e5 spi3b_e_dat[19] b4 spi3b_e_dat[18] d4 spi3b_e_dat[17] a3 spi3b_e_dat[16] c4 spi3b_e_dat[15] b3 spi3b_e_dat[14] c2 spi3b_e_dat[13] c1 spi3b_e_dat[12] c3 spi3b_e_dat[11] d3 spi3b_e_dat[10] d1 spi3b_e_dat[9] f5 spi3b_e_dat[8] d2 spi3b_e_dat[7] e3 spi3b_e_dat[6] e1 spi3b_e_dat[5] f4 spi3b_e_dat[4] e2 spi3b_e_dat[3] f3 spi3b_e_dat[2] f2 spi3b_e_dat[1] g4 spi3b_e_dat[0] f1 spi3b_e_fclk g5 spi3b_ptpa g3 spi3b_tadr[7] h5 spi3b_tadr[6] g2 spi3b_tadr[5] g1 spi3b_tadr[4] h4 spi3b_tadr[3] h2 spi3b_tadr[2] h3 spi3b_tadr[1] h1 spi3b_tadr[0] j5 spi3b_stpa j4 spi3b_dtpa[3] j3 spi3b_dtpa[2] j2 spi3b_dtpa[1] j1 spi3b_dtpa[0] k5 spi3b_i_enb k4 spi3b_i_sx k3 spi3b_rval k2 spi3b_i_err k1 spi3b_i_fclk l5 spi3b_i_sop l4 spi3b_i_prty l3 spi3b_i_mod[1] m5 spi3b_i_mod[0] l2 spi3b_i_eop l1 spi3b_i_dat[31] m4 spi3b_i_dat[30] m3 spi3b_i_dat[29] m2 spi3b_i_dat[28] m1 spi3b_i_dat[27] n4 signal pin name ball signal pin name ball signal pin name ball signal pin name ball 12.2 pin name/ball location table spi3b_i_dat[26] n5 spi3b_i_dat[25] n3 spi3b_i_dat[24] n2 spi3b_i_dat[23] n1 spi3b_i_dat[22] r5 spi3b_i_dat[21] p5 spi3b_i_dat[20] p4 spi3b_i_dat[19] p2 spi3b_i_dat[18] p1 spi3b_i_dat[17] p3 spi3b_i_dat[16] r4 spi3b_i_dat[15] r3 spi3b_i_dat[14] t5 spi3b_i_dat[13] r2 spi3b_i_dat[12] r1 spi3b_i_dat[11] t4 spi3b_i_dat[10] u5 spi3b_i_dat[9] t3 spi3b_i_dat[8] t2 spi3b_i_dat[7] t1 spi3b_i_dat[6] u3 spi3b_i_dat[5] u4 spi3b_i_dat[4] u2 spi3b_i_dat[3] u1 spi3b_i_dat[2] v5 spi3b_i_dat[1] v1 spi3b_i_dat[0] v2 spi3d_i_dat[0] v4 spi3d_i_dat[1] w3 spi3d_i_dat[2] w1 spi3d_i_dat[3] v3 spi3d_i_dat[4] w2 spi3d_i_dat[5] w5 spi3d_i_dat[6] w4 spi3d_i_dat[7] y1 spi3d_i_dat[8] y2 spi3d_i_dat[9] y5 spi3d_i_dat[10] y3 spi3d_i_dat[11] y4 spi3d_i_dat[12] aa1 spi3d_i_dat[13] aa5 spi3d_i_dat[14] aa2 spi3d_i_dat[15] aa3 spi3d_i_dat[16] aa4 spi3d_i_dat[17] ab4 spi3d_i_dat[18] ab1 spi3d_i_dat[19] ab2 spi3d_i_dat[20] ac2 spi3d_i_dat[21] ab5 spi3d_i_dat[22] ab3 spi3d_i_dat[23] ac1 spi3d_i_dat[24] ac3 spi3d_i_dat[25] ac5 spi3d_i_dat[26] ac4 spi3d_i_dat[27] ad1 spi3d_i_dat[28] ad2 spi3d_i_dat[29] ad5 spi3d_i_dat[30] ad4 spi3d_i_dat[31] ad3 spi3d_i_eop ae1 spi3d_i_mod[0] ae3 spi3d_i_mod[1] ae2 spi3d_i_prty ae4 spi3d_i_sop af3 spi3d_i_fclk ae5 spi3d_i_err af1 spi3d_rval af2 spi3d_i_sx af5 spi3d_i_enb af4 spi3d_dtpa[0] ag2 spi3d_dtpa[1] ag1 spi3d_dtpa[2] ag4 spi3d_dtpa[3] ag3 spi3d_stpa ah1 spi3d_tadr[0] ah2 spi3d_tadr[1] ah3 spi3d_tadr[2] ag5 spi3d_tadr[3] ah4 spi3d_tadr[4] aj1 spi3d_tadr[5] aj4 spi3d_tadr[6] aj2 spi3d_tadr[7] aj3 spi3d_ptpa ak1 spi3d_e_fclk ak2 spi3d_e_dat[0] ah5 spi3d_e_dat[1] ak4 spi3d_e_dat[2] al1 spi3d_e_dat[3] al2 spi3d_e_dat[4] ak3 spi3d_e_dat[5] am1 spi3d_e_dat[6] am2 spi3d_e_dat[7] am3 spi3d_e_dat[8] al3 spi3d_e_dat[9] ap3 spi3d_e_dat[10] al4 spi3d_e_dat[11] am4 spi3d_e_dat[12] an4 spi3d_e_dat[13] ap4 spi3d_e_dat[14] ak5 spi3d_e_dat[15] al5 spi3d_e_dat[16] an5 spi3d_e_dat[17] am5 spi3d_e_dat[18] ak6 spi3d_e_dat[19] ap5 spi3d_e_dat[20] am6 spi3d_e_dat[21] al6 spi3d_e_dat[22] ap6 spi3d_e_dat[23] an6 spi3d_e_dat[24] al7 spi3d_e_dat[25] ak7 spi3d_e_dat[26] an7 spi3d_e_dat[27] am7 spi3d_e_dat[28] ak8 spi3d_e_dat[29] ap7 spi3d_e_dat[30] am8 spi3d_e_dat[31] al8 spi3d_e_prty ak9 spi3d_e_sx an8 spi3d_e_enb ap8 spi3d_e_eop al9 spi3d_e_mod[0] ak10 spi3d_e_mod[1] am9 spi3d_e_err an9 spi3d_e_sop ap9 spi3c_i_dat[0] al10 spi3c_i_dat[1] am10 spi3c_i_dat[2] an10 spi3c_i_dat[3] ap10 spi3c_i_dat[4] ak12 spi3c_i_dat[5] ak11 spi3c_i_dat[6] al11 spi3c_i_dat[7] an11 spi3c_i_dat[8] ap11 spi3c_i_dat[9] am11 spi3c_i_dat[10] al12 spi3c_i_dat[11] am12 spi3c_i_dat[12] ak13 spi3c_i_dat[13] an12 spi3c_i_dat[14] ap12 spi3c_i_dat[15] al13 spi3c_i_dat[16] am13 spi3c_i_dat[17] an13 spi3c_i_dat[18] ap13 spi3c_i_dat[19] an14 spi3c_i_dat[20] ak14 spi3c_i_dat[21] al14 spi3c_i_dat[22] am14 spi3c_i_dat[23] ap14 spi3c_i_dat[24] am15 spi3c_i_dat[25] al15 spi3c_i_dat[26] an15 spi3c_i_dat[27] ap15 spi3c_i_dat[28] ak15 spi3c_i_dat[29] al16 spi3c_i_dat[30] ak16 spi3c_i_dat[31] am16
92 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi3c_i_eop ak17 spi3c_i_mod[0] an16 spi3c_i_mod[1] ap16 spi3c_i_prty al17 spi3c_i_sop ak18 spi3c_i_fclk am17 spi3c_i_err an17 spi3c_rval ap17 spi3c_i_sx ak20 spi3c_i_enb al18 spi3c_dtpa[0] am18 spi3c_dtpa[1] ap18 spi3c_dtpa[2] ak19 spi3c_dtpa[3] ap19 spi3c_stpa an18 spi3c_tadr[0] an19 spi3c_tadr[1] ak22 spi3c_tadr[2] al19 spi3c_tadr[3] ap20 spi3c_tadr[4] am20 spi3c_tadr[5] am19 spi3c_tadr[6] al20 spi3c_tadr[7] an20 spi3c_ptpa ap21 spi3c_e_fclk ak21 spi3c_e_dat[0] an21 spi3c_e_dat[1] am21 spi3c_e_dat[2] al21 spi3c_e_dat[3] ap22 spi3c_e_dat[4] an22 spi3c_e_dat[5] am22 spi3c_e_dat[6] al22 spi3c_e_dat[7] ak23 spi3c_e_dat[8] ap23 spi3c_e_dat[9] an23 spi3c_e_dat[10] al23 spi3c_e_dat[11] am23 spi3c_e_dat[12] ap24 spi3c_e_dat[13] am24 spi3c_e_dat[14] an24 spi3c_e_dat[15] ak24 spi3c_e_dat[16] al24 spi3c_e_dat[17] ap25 spi3c_e_dat[18] an25 spi3c_e_dat[19] ak25 spi3c_e_dat[20] al25 spi3c_e_dat[21] am25 spi3c_e_dat[22] ap26 spi3c_e_dat[23] an26 spi3c_e_dat[24] ap27 spi3c_e_dat[25] am26 spi3c_e_dat[26] ak26 spi3c_e_dat[27] al26 spi3c_e_dat[28] am27 spi3c_e_dat[29] an27 spi3c_e_dat[30] ak27 spi3c_e_dat[31] al27 spi3c_e_prty an28 spi3c_e_sx ap28 spi3c_e_enb al28 spi3c_e_eop am28 spi3c_e_mod[0] ap29 spi3c_e_mod[1] ak28 spi3c_e_err am29 spi3c_e_sop an29 ref_clk ap30 tck al29 lvds_sta an30 tdi am30 tdo ap32 tms an32 gpio[4] am31 gpio[3] am33 gpio[2] am34 clk_sel[3] al31 gpio[1] al30 clk_sel[2] ak29 gpio[0] al32 clk_sel[1] ak30 oclk[3] ak31 clk_sel[0] ah31 oclk[2] aj30 timebase ah34 oclk[1] ah32 oclk[0] ah33 spi4_i_stat_t[1] ah30 spi4_i_stat_t[0] ag32 spi4_i_sclk_t ag33 bias aj31 spi4_i_stat_p[1] ag31 spi4_i_stat_p[0] af31 spi4_i_stat_n[1] ag30 spi4_i_stat_n[0] af30 spi4_i_sclk_p af33 spi4_i_sclk_n af32 spi4_e_dclk_p ae34 spi4_e_dclk_n ae33 spi4_e_dat_p[15] ae30 spi4_e_dat_n[15] ae31 spi4_e_dat_p[14] ad31 spi4_e_dat_n[14] ad30 spi4_e_dat_p13] ad34 spi4_e_dat_n[13] ad33 spi4_e_dat_p[12] ac32 signal pin name ball signal pin name ball signal pin name ball signal pin name ball 12.2. pin name/ball location table (continued) spi4_e_dat_n[12] ac31 spi4_e_dat_p[11] ac34 spi4_e_dat_n[11] ac33 spi4_e_dat_p[10] ab31 spi4_e_dat_n[10] ab30 spi4_e_dat_p[9] ab34 spi4_e_dat_n[9] ab33 spi4_e_dat_p[8] aa31 spi4_e_dat_n[8] aa30 spi4_e_dat_p[7] aa34 spi4_e_dat_n[7] aa33 spi4_e_dat_p[6] y32 spi4_e_dat_n[6] y31 spi4_e_dat_p[5] y34 spi4_e_dat_n[5] y33 spi4_e_dat_p[4] w31 spi4_e_dat_n[4] w30 spi4_e_dat_p[3] w34 spi4_e_dat_n[3] w33 spi4_e_dat_p[2] v31 spi4_e_dat_n[2] v30 spi4_e_dat_p[1] v34 spi4_e_dat_n[1] v33 spi4_e_dat_p[0] u32 spi4_e_dat_n[0] u31 spi4_e_ctrl_p u34 spi4_e_ctrl_n u33 spi4_i_dclk_p t34 spi4_i_dclk_n t33 spi4_i_dat_p[15] t31 spi4_i_dat_n[15] t30 spi4_i_dat_p[14] r34 spi4_i_dat_n[14] r33 spi4_i_dat_p[13] r31 spi4_i_dat_n[13] r30 spi4_i_dat_p[12] p34 spi4_i_dat_n[12] p33 spi4_i_dat_p[11] p32 spi4_i_dat_n[11] p31 spi4_i_dat_p[10] n34 spi4_i_dat_n[10] n33 spi4_i_dat_p[9] n31 spi4_i_dat_n[9] n30 spi4_i_dat_p[8] m34 spi4_i_dat_n[8] m33 spi4_i_dat_p[7] m32 spi4_i_dat_n[7] m31 spi4_i_dat_p[6] l34 spi4_i_dat_n[6] l33 spi4_i_dat_p[5] k33 spi4_i_dat_n[5] k34 spi4_i_dat_p[4] l31 spi4_i_dat_n[4] k31 spi4_i_dat_p[3] k30 spi4_i_dat_n[3] j30 spi4_i_dat_p[2] j32 spi4_i_dat_n[2] j33 spi4_i_dat_p[1] j34 spi4_i_dat_n[1] h34 spi4_i_dat_p[0] h32 spi4_i_dat_n[0] h33 spi4_i_ctrl_p h30 spi4_i_ctrl_n h31 spi4_e_sclk_p g31 spi4_e_sclk_n g32 spi4_e_stat_p[1] f33 spi4_e_stat_n[1] f34 spi4_e_stat_p[0] f32 spi4_e_stat_n[0] e32 spi4_e_stat_t[1] l30 spi4_e_stat_t[0] m30 spi4_e_sclk_t e31 spi_en e29 dbus[7] e30 add[5] d33 dbus[6] d34 add[4] d31 dbus[5] d32 add[3] c34 dbus[4] d30 wrb c33 dbus[3] c32 csb b32 dbus[2] c31 dbus[1] a32 resetb c30 intb a31 dbus[0] a30 add[2] b30 rdb e28 add[1] d29 trstb d28 add[0] b28 mpm c28 spi3a_e_sop a28 spi3a_e_err e27 spi3a_e_mod[1] c27 spi3a_e_mod[0] d27 spi3a_e_eop b27 spi3a_e_enb a27 spi3a_e_sx d26 spi3a_e_prty e26 spi3a_e_dat[31] c26 spi3a_e_dat[30] b26
93 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 spi3a_e_dat[29] a26 spi3a_e_dat[28] e25 spi3a_e_dat[27] d25 spi3a_e_dat[26] c25 spi3a_e_dat[25] a25 spi3a_e_dat[24] b25 spi3a_e_dat[23] c24 spi3a_e_dat[22] d24 spi3a_e_dat[21] d23 spi3a_e_dat[20] e23 spi3a_e_dat[19] b24 spi3a_e_dat[18] a24 spi3a_e_dat[17] c23 spi3a_e_dat[16] e24 spi3a_e_dat[15] b23 spi3a_e_dat[14] a23 spi3a_e_dat[13] d22 spi3a_e_dat[12] e22 spi3a_e_dat[11] c22 spi3a_e_dat[10] b22 spi3a_e_dat[9] a22 spi3a_e_dat[8] e21 spi3a_e_dat[7] d21 spi3a_e_dat[6] c21 spi3a_e_dat[5] b21 spi3a_e_dat[4] e20 spi3a_e_dat[3] a21 spi3a_e_dat[2] c20 spi3a_e_dat[1] b20 spi3a_e_dat[0] d20 spi3a_e_fclk a20 spi3a_ptpa c19 spi3a_tadr[7] b19 spi3a_tadr[6] d19 spi3a_tadr[5] a19 spi3a_tadr[4] a18 spi3a_tadr[3] b18 spi3a_tadr[2] e19 spi3a_tadr[1] c18 spi3a_tadr[0] d18 spi3a_stpa a17 spi3a_dtpa[3] e18 spi3a_dtpa[2] b17 spi3a_dtpa[1] c17 spi3a_dtpa[0] d17 spi3a_i_enb e17 spi3a_i_sx a16 spi3a_rval b16 spi3a_i_err c16 spi3a_i_fclk d16 spi3a_i_sop b15 spi3a_i_prty a15 spi3a_i_mod[1] c15 spi3a_i_mod[0] e16 spi3a_i_eop d15 spi3a_i_dat[31] e15 spi3a_i_dat[30] a14 spi3a_i_dat[29] e14 spi3a_i_dat[28] b14 spi3a_i_dat[27] c14 spi3a_i_dat[26] d14 spi3a_i_dat[25] e13 spi3a_i_dat[24] a13 spi3a_i_dat[23] b13 spi3a_i_dat[22] c13 spi3a_i_dat[21] e12 spi3a_i_dat[20] d13 spi3a_i_dat[19] a12 spi3a_i_dat[18] b12 spi3a_i_dat[17] e11 spi3a_i_dat[16] d12 spi3a_i_dat[15] c12 spi3a_i_dat[14] a11 spi3a_i_dat[13] c11 spi3a_i_dat[12] d11 spi3a_i_dat[11] b11 spi3a_i_dat[10] a10 spi3a_i_dat[9] b10 spi3a_i_dat[8] c10 spi3a_i_dat[7] e10 spi3a_i_dat[6] d10 signal pin name ball signal pin name ball signal pin name ball signal pin name ball 12.2 pin name/ball location table (continued) spi3a_i_dat[5] a9 spi3a_i_dat[4] b9 spi3a_i_dat[3] d9 spi3a_i_dat[2] e9 spi3a_i_dat[1] c9 spi3a_i_dat[0] a8 spi3b_e_sop c8 spi3b_e_err d8 spi3b_e_mod[1] b8 spi3b_e_mod[0] e8 spi3b_e_eop b7 spi3b_e_enb c7 spi3b_e_sx a7 spi3b_e_prty a6 spi3b_e_dat[31] d7 spi3b_e_dat[30] b6 spi3b_e_dat[29] e7 spi3b_e_dat[28] e6 spi3b_e_dat[27] c6 spi3b_e_dat[26] a5 spi3b_e_dat[25] d6 spi3b_e_dat[24] b5 spi3b_e_dat[23] d5 spi3b_e_dat[22] c5 vdda18_clkgen af28 vssa18_clkgen aa20 vdda18_istx ad28 vssa18_istx y21 vdda18_edtx ae28 vssa18_edtx aa21 vdda18_idrx p28 vssa18_idrx r21 vdda18_esrx l28 vssa18_esrx p21 vss (gnd) a29, b29, c29, e4, f6, f7, f17, f18, f28, f29, f31, g6, g7, g17, g18, g28, g29, g33, g34, j31, l32, n32, p14 - p20, r14- r20, t14 - t21, t32, u6, u7, u14 - u21, u28, u29, v6, v7, v14 - v21, v28, v29, v32, w14 - w21, y14 - y20, y30, aa14 - aa19, aa32, ac30, ad32, af34, ag34, ah6, ah7, ah17, ah18, ah28, ah29, aj5 - aj7, aj17, aj18, aj28, aj29, aj32 - aj34, ak32, ak33, an3, ap31, an31, b31 vdd18 (1.8 volts) a1, a2, a33, a34, b1, b2, b33, b34, e33, e34, f8, f9, f12, f13, f15, f16, f19, f20, f22, f23, f26, f27, f30, g8, g9, g12, g13, g15, g16, g19, g20, g22, g23, g26, g27, g30, h6, h7, h28, h29, j6, j7, j28, j29, k32, m6, m7, m28, m29, n6, n7, n28, n29, r6, r7, r28, r29, r32, t6, t7, t28, t29, w6, w7, w28, w29, w32, y6, y7, y28, y29, ab6, ab7, ab28, ab29, ab32, ac6, ac7, ac28, ac29, ae32, af6, af7, ah25, af29, ag6, ag7, ag28, ag29, ah8, ah9, ah12, ah13, ah15, ah16, ah19, ah20, ah22, ah23, ah26, ah27, aj8, aj9, aj12, aj13, aj15, aj16, aj19, aj20, aj22, aj23, aj26, aj27, ak34, al33, al34, an1, an2, an33, an34, ap1, ap2, ap33, ap34 vd33 (3.3 volts) f10, f11, f14, f21, g10, g11, g14, g21, k6, k7, l6, l7, p6, p7, aa6, aa7, ad6, ad7, ae6, ae7, ah10, ah11, ah14 , ah21, aj10, aj11, aj14, aj21, am32 vdda33 (3.3 volts) f24, f25, g24, g25, k28, k29, l29, p29, p30, u30, aa28, aa29, ad29, ae29, aj24, ah24, aj25 power pin name ball(s)
94 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 12.3 device package the spi exchange IDT88P8344 device is packaged in a 35 mm by 35 mm 820-ball one millimeter ball pitch thermally-enhanced plastic ball grid array. all balls, whether used or unused, must be soldered to pads. figure 42. IDT88P8344 820pbga package, bottom view
95 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 figure 43. IDT88P8344 820pbga package, top and side views
96 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 acronym meaning fifo first in first out memory lid logical identifier see also logical port (lp) the entity associated with a flow of data between a spi-3 lp to a spi-4 lp, or a spi-4 lp to a spi-3 lp. lp logical port. see also logical identifier (lid) the entity associated with a spi-3 or spi-4 address. oif optical internetworking forum spi-3 system packet interface level 3 this interface is defined by the oif implementation agreement oif-spi3-01.0 - spi-3 packet interface for physical and link layers for oc-48 available at http://www.oiforum.com/public/impagreements.html spi-4 system packet interface level 4 phase 2 this interface is defined by the oif implementation agreement oif-spi4-02.1 - system packet interface level 4 (spi-4) phase 2: oc-192 system interface for physical and link layer devices available at http://www.oiforum.com/public/impagreements.html 13. glossary
97 IDT88P8344 spi exchange 4 x spi-3 to spi-4 industrial temperature range april 10, 2006 issue date description 0.7 05/21/04 ? general release 0.8 10/01/04 ? ag30 ball location changed to spi4_i_stat_n[1] and af31 ball location changed to spi4_i_stat_p[0] on pin name/ball location table (table 12.2) on page 88 0.9 03/01/05 ? updated chip configuration sequence (p. 41) ? update table 21: ?bit order whitin a 16-bit address register? (p. 45) ? update table 27: ?indirect access address register? (p. 46) ? updated direct access registers (p. 48-49) ? updated common module indirect registers (p. 66) ? updated electrical and thermal specification (p. 77) (the section name changed from electrical characteristics to electrical and thermal specification). updated jtag instructions. ? added document revision history (p. 95) 0.91 05/09/05 ? added sections system reset and power on sequence (p.41) ? updated pfr to pfp in table 49: "module a/b/c/d indirect register" (p.55) ? updated length for reserved in table 83: "spi-4 ingress port descriptor" (p.65) ? added green to ordering information (p.96) 0.92 08/05/05 ? updated table 128: "absolute maximum ratings" (p.78) 0.93 10/20/05 ? updated table 7: "parallel microprocessor interface" (p.12) ? updated table 131: "thermal characteristics" (p.79) ? updated microprocessor parallel port section (p.84-87) 0.94 01/09/06 ? updated figure 4: "phy mode spi-3 ingress interface" (p.14) ? deleted table 13: "nr_lid field encoding". updated spi-4 egress queues, normal operation section (p.26) ? updated section 8.2.5 "spi-4 status channel software" (p.43) ? updated table 127: "absolute maximum ratings" (p.78) ? updated table 129: "terminal capacitance" (p.79) 1.0 04/10/06 ? initial release of final datasheet with new section 8.2.7 "software eye-opening check on spi-4" & new figure 33. "ddr interface and eye opening check through over sampling" (p.44-45) ? updated clock generator (pg. 39) ? updated spi-4 ingress watermark register (pg. 71) ? updated clock generator control register (pg. 77) ? updated table 130: thermal characteristics (pg. 80) ? updated table 132: spi-3 ac input/output timing specifications (pg. 82) ? updated table 136: oclk[3:0] outputs and mclk internal clock (pg. 84) 14. datasheet document revision history
corporate headquarters for sales: for tech support: 6024 silver creek valley road 800-345-7015 or 408-284-8200 408-360-1716 san jose, ca 95138 fax: 408-284-2775 email: spi@idt.com www.idt.com 98 15. ordering information plastic ball grid array (pbga, bh820-1) industrial (-40c to +85c) 6370 drwlast idt x device type x package x process / temperature range i 88p8344 spi exchange spi-3 to spi-4 bh x g green note: 1. green parts are available.


▲Up To Search▲   

 
Price & Availability of IDT88P8344

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X